首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB:如何创建一个图的双轴

MATLAB:如何创建一个图的双轴
EN

Stack Overflow用户
提问于 2015-12-10 10:29:59
回答 1查看 310关注 0票数 0

我试图创造一个图解的失败强度与材料刚度。但是,刚度可以作为Pascal或Shore A-我想使用双轴图。

我试过用策略,但它不允许我有一个线条图,也不允许Pascal和Shore A之间的非线性关系,我想绘制其中一个,然后手动添加其他滴答之间的间距。

最好我喜欢x轴上的刚度,但是y轴如果更容易的话就可以了。

任何帮助都是非常欢迎的!

我想要做的事情的例子

EN

回答 1

Stack Overflow用户

发布于 2015-12-10 10:50:10

当您需要双x轴和双y轴绘图时,这可能会对您有所帮助,但是如果您需要单y轴和两个x轴,则可以相应地修改:

这个例子展示了如何使用第一幅图的轴的底部和左侧以及第二幅图的轴的顶部和右侧来创建一个图形。

创建要绘制的数据。

代码语言:javascript
复制
x1 = 0:0.1:40;
y1 = 4.*cos(x1)./(x1+2);
x2 = 1:0.2:20;
y2 = x2.^2./x2.^3;

使用line函数绘制y1与x1的红线图。将x轴和y轴的颜色设置为红色.

注意:从R2014b开始,可以使用点表示法来设置属性。如果您使用的是较早的版本,请使用set函数,例如set(ax1,'XColor','r')。

代码语言:javascript
复制
figure
line(x1,y1,'Color','r')
ax1 = gca; % current axes
ax1.XColor = 'r';
ax1.YColor = 'r';

通过设置第二轴的位置等于第一轴的位置,在与第一轴相同的位置创建第二轴。指定x轴的位置作为图的顶部,y轴作为图形的右侧。将轴颜色设置为“none”,以便第一个轴在第二个轴下可见。

代码语言:javascript
复制
ax1_pos = ax1.Position; % position of first axes
ax2 = axes('Position',ax1_pos,...
'XAxisLocation','top',...
'YAxisLocation','right',...
'Color','none');

使用行函数在第二个轴上绘制y2与x2的对应关系。将线条颜色设置为黑色,使其与相应的x轴和y轴的颜色相匹配。

代码语言:javascript
复制
line(x2,y2,'Parent',ax2,'Color','k')

这张图包含两条对应于不同轴线的线。红线对应于红轴。黑线对应于黑轴。

来源:

plots/graph-with-multiple-x-axes-and-y-axes.html

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34199477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档