Matlab:在不同图形的两个轴上绘图

Posted

技术标签:

【中文标题】Matlab:在不同图形的两个轴上绘图【英文标题】:Matlab: Plotting on two axes on different figures 【发布时间】:2014-07-19 22:45:19 【问题描述】:

我有两个数字

f1 = figure('visible','off');
f2 = figure('visible','off');

现在我想获取一些数据[x1Array,y1Array] & [x2Array,y2Array] 并在图f1 上绘制第一组,在图f2 上绘制第二组。

我尝试过使用:

plot(f1,x1Array,y1Array);
plot(f2,x2Array,y2Array);

但这给了我一个错误:Error using ==> plot String argument is an unknown option. 我认为这意味着句柄不是 Matlab 所期望的。我做错了什么?

【问题讨论】:

你的数据是什么数据类型? @thewaywewalk 所有整数 你的数组真的是数组还是向量? 您是否想将事物绘制在过于独立的图中,或者创建子图对您有用? @user3681614 数组,例如 x1array = [1,2,3,4,5,6];我需要它们在单独的数字。我在我的示例中使用了两个数字,但实际上我使用了大约 20 个,它们并不都适合一个数字作为不同的子图 【参考方案1】:

怎么样

set(0, 'CurrentFigure', f1)
plot(x1Array, y1Array)
set(0, 'CurrentFigure', f2)
plot(x2Array, y2Array)

【讨论】:

figure(f1) 而不是set(...) @LuisMendo 的解决方案更具可读性,但通过执行figure(handle),,它本质上是在执行 Drake 的建议。无论哪种方式,任何一种解决方案都可以解决 OP 的问题。

以上是关于Matlab:在不同图形的两个轴上绘图的主要内容,如果未能解决你的问题,请参考以下文章

在 Matlab 中禁用绘图

Excel 2010 - 同一图表上的两个数据系列 - 在 x 轴上以不同颜色继续

在相同的绘图空间上绘制两个 Seaborn sns.kdeplot 图形,但每个图形都有一个具有相同范围的不同颜色条

如何在绘图本身中添加 Matlab 中的图例元素

matlab - 在原点设置刻度标签

利用图形窗口分割法将极坐标方程:r=cos(θ/3)+1/9用四种绘图方式画在不同的窗口中