我在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');