结合两个MATLAB图形与两个y轴

18次浏览(最近30天)
党卫军
党卫军 2020年5月14日
评论道: 埃米尔哈姆萨 2020年5月15日
嗨。我有两个MATLAB图形,我想把它们组合在一起,意思是在一个图上显示它们。这两个图形有两个y轴。不幸的是,我使用的代码只结合了基于正确y轴的图形。谁能帮我一下吗?我正在附加无花果文件。
Dir =“D: \ Original_Plots \”
prefix1 =“plot_1”
prefix2 =“plot_2”
BinSuffix = {''};% text_后跟数字ID
%加载数据
j = 1:1:长度(BinSuffix)
h1(j) = openfig([Dir prefix1 BinSuffix{j})“.fig”],“重用”);
ax₁甘氨胆酸(j) =;
h1 (j)
结束
j = 1:1:长度(BinSuffix)
h2(j) = openfig([Dir prefix2 BinSuffix{j})“.fig”],“重用”);
甘氨胆酸ax2 (j) =;
结束
%将数据
j = 1:1:长度(BinSuffix)
高频=图(20);
持有
图一=得到(ax₁(j),“孩子”);
图=得到(ax2 (j),“孩子”);
s = gca;
copyobj(图一,s);
copyobj(图二,s);
结束
%坐标轴标签
包含(“x1, x2”);
ylabel (“日元”);左轴%
抓住;
ylabel (y2);右轴%
savefig (“2 _plots”);
2的评论
党卫军
党卫军 2020年5月14日
你好,谢谢你的回复。我只有两份文件。我想保持坐标轴的位置不变。此外,我如何调整“Ylim”的y轴在左边和右边?

登录评论。

接受的答案

埃米尔哈姆萨
埃米尔哈姆萨 2020年5月14日
编辑:埃米尔哈姆萨 2020年5月14日
试试这个代码
图一= openfig (“plot_1.fig”);
图= openfig (“plot_2.fig”);
ax₁= findobj(图一,“类型”“轴”);
yyaxis (ax₁“左”);
line1L = ax1.Children;
yyaxis (ax₁“对”);
line1R = ax1.Children;
ax2 = findobj(图二,“类型”“轴”);
yyaxis (ax2,“左”);
line2L = ax2.Children;
yyaxis (ax2,“对”);
line2R = ax2.Children;
% %
无花果=图;
ax =轴();
LineL = copyobj([line1L line2L], ax); / /将数据转换成数据
yyaxis (ax,“对”);
line = copyobj([line1R line2R], ax);
要改变ylimit,你可以这样做
yyaxis (ax,“左”);
斧子。YLim = [0 2];改变左轴的Ylimits
yyaxis (ax,“对”);
斧子。YLim = [0 2];改变右轴的Ylimits

更多的答案(0)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!