matlab多个x轴一个接一个

matlab多个x轴一个接一个,matlab,axis,Matlab,Axis,我试图创建一个matlab绘图,其中多个x轴一个接一个,只有一个y轴 我已经浏览了Mathworks文件交换,只有多个y轴的建议/脚本。我想实现这样的功能。您需要为此使用补丁函数。 查看此处了解更多详细信息:如果您实际上不需要在次轴上绘制数据,而只是使用它们来显示比例(如链接到的示例),只需在适当位置添加第二个(或第三个等)轴,并将高度设置得非常小即可: ax2 = axes('Position',[0.1 0.1 0.8 0.001],'Color','none') 然后适当地设置刻度标签。

我试图创建一个matlab绘图,其中多个x轴一个接一个,只有一个y轴


我已经浏览了Mathworks文件交换,只有多个y轴的建议/脚本。我想实现这样的功能。

您需要为此使用补丁函数。
查看此处了解更多详细信息:

如果您实际上不需要在次轴上绘制数据,而只是使用它们来显示比例(如链接到的示例),只需在适当位置添加第二个(或第三个等)轴,并将高度设置得非常小即可:

ax2 = axes('Position',[0.1 0.1 0.8 0.001],'Color','none')

然后适当地设置刻度标签。

如果您只需要第二个轴来显示不同的比例,这里有一个示例解决方案(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