Matlab多个x轴一个下面另一个

8
我正在尝试创建一个具有多个x轴的Matlab图,其中一个在另一个下方,但只有一个y轴。
我已经查看了Mathworks文件交换平台,但仅提供了多个y轴的建议/脚本。我想实现类似于R中这个问题的效果。

1
也许这些中的一个可以帮助您:- 使用多个X轴和Y轴 - linkaxes - Drodbar
3个回答

4

如果您只需要第二个轴来显示不同的刻度,这里是一个示例解决方案(Jeff_K的解决方案,但更详细):

first_axis = gca;
sqz = 0.12; %// distance to squeeze the first plot
set(first_axis, 'Position', get(first_axis, 'Position') + [0 sqz 0 -sqz ]);
ax2 = axes('Position', get(first_axis, 'Position') .* [1 1 1 0.001] - [0 sqz 0 0],'Color','none');
scale_factor = 42; %// change this to your satisfaction
xlim(get(first_axis, 'XLim') * scale_factor);
set(ax2, 'XScale', get(first_axis, 'XScale')); %// make logarithmic if first axis is too

3
如果您实际上不需要在次要轴上绘制数据,而只是用它们显示比例尺(就像您链接的示例一样),那么您可以通过在适当位置添加第二个(或第三个等)轴,并将其高度设置得非常小来轻松完成:
ax2 = axes('Position',[0.1 0.1 0.8 0.001],'Color','none')

然后适当设置刻度标签。

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接