我在 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);
上面的代码正确格式化了 y 刻度标签,但缩放时标签与绘图不匹配。我的问题有一个截图: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');