八度轴缩放重绘

时间:2017-02-28 14:10:45

标签: octave axis-labels axes yaxis

我在Octave面临一个问题。当我设置y轴的自定义刻度标签时,缩放时标签不会正确更新。在Matlab中很容易解决:

plot(1:10);
ax = gca;
ax.YAxis.TickLabelFormat = '%,.1f';

我的代码在缩放时带有错误的y标签:

ax2 = gca;
ytick = get (ax2, "ytick"); 
yticklabel = strsplit (sprintf ("%9.0f\n", ytick), "\n", true); 
set (ax2, "yticklabel", yticklabel);

上面的代码格式正确标记了标签,但标签在缩放时与绘图不匹配。我的问题有截屏:nonzoomed vs zoomed。 我使用的是W10 64位,Octave版本4.0.3 .. Octave配置为" i686-w64-mingw32"。

有什么想法吗?

我决定添加最少的代码示例,以便更清楚地了解该问题:

x=1:length(inv);
figure
hax1 = subplot(2,1,1);
stairs(x,inv);
hax2 = subplot(2,1,2);
x=1:length(mon);
% big numbers here, need to format to get rid of scientific notation
stairs(x,mon); 
ax2 = gca;
ytick = get (ax2, "ytick"); 
yticklabel = strsplit (sprintf ("%9.0f\n", ytick), "\n", true); 
set (ax2, "yticklabel", yticklabel);
linkaxes([hax1 hax2],'x'); 

0 个答案:

没有答案