1

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

0 回答 0