0

我正在使用 plotyy 在同一图中的不同轴上绘制两条曲线。第一条曲线的范围从 10^-4 到 10^-1,第二条曲线的范围从 0 到 10。如果我按以下方式绘制,

[AX, H1, H2] = plotyy(x, y1, x, y2, 'semilogy', 'semilogy');

它们都将绘制为符号学并在 y 中具有正确的比例。但我不想以 log10 比例显示 y2,所以我改变了

[AX, H1, H2] = plotyy(x, y1, x, y2, 'semilogy', 'plot');

但是,在左右 y 轴上,刻度只显示最小和最大范围,中间的所有细节都消失了。为什么?

4

2 回答 2

2

你可以试试这个:

[AX, H1, H2] = plotyy(x, y1, x, y2, 'semilogy', 'plot');

% set yticks for the left axis 
set(AX(1), 'ytick', yourDesiredYticks1)
set(AX(1), 'box', 'off') % to remove corresponding yticks on the right side of the plot

% set yticks for the right axis
set(AX(2), 'ytick', yourDesiredYticks2)
set(AX(2), 'box', 'off')
于 2012-06-04T10:06:34.610 回答
1

试试这个:

%# create some data resembling what you described
x = 1:100;
y1 = rand(size(x))*1e-1 + 1e-4;
y2 = rand(size(x))*10;

%# plot
hAx = plotyy(x,y1, x,y2, 'semilogy', 'semilogy');
set(hAx(2), 'YScale','linear')

截屏

于 2012-06-04T16:33:16.703 回答