1

有没有对齐刻度标签的方法?

我有一个图,它有两个 y 轴,其中的值变化很大。我想对齐刻度标签,以便一个 y 标签上显示的每个值都与另一个 ylabel 上的值匹配。例如:

data1 = 1+ (12-1).*rand(365,1);
data2 = 1 + (700-1).*rand(365,1);
time = 1:365;
figure(1);
ax1 = axes('position',[0.05 0.5 0.22 0.37]);
plot(time,data1,'k','linewidth',1);
ylabel('label 1');
pos=double(get(ax1,'position'));
ax2=axes('position',pos,'color','none','YAxisLocation','right','xtick',[])
hold on;
plot(time,data2,'r','linewidth',1,'parent',ax2);
ylabel(ax2,'label 2');

在这里,我希望第二个 y 轴具有与第一个 y 轴相同的刻度数以及它们之间的相同间距。我怎样才能做到这一点?

4

2 回答 2

1

使用plotyy代替plot,它会为您处理:

plotyy(time, data1, time, data2);
于 2012-09-14T14:07:49.053 回答
0

您可以明确设置 y 轴范围和刻度位置:

ylim(ax1,[lowerBound upperBound])
set(ax1,'ytick',[tick1 tick2 tick3 tick4])

这可以让您微调特定绘图的刻度位置。它使缩放和平移功能减少,因为刻度线经常被遗忘。

于 2012-09-14T14:27:23.987 回答