Octave 倍频程轴缩放重画

Octave 倍频程轴缩放重画,octave,axis-labels,axes,yaxis,Octave,Axis Labels,Axes,Yaxis,我在八度音阶中面临一个问题。设置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, "yti

我在八度音阶中面临一个问题。设置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记号标签的格式,但缩放时标签与绘图不匹配。有我的问题的截图:。
我使用的是W10 64位,倍频程版本4.0.3。。倍频程配置为“i686-w64-W32”

有什么想法吗

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

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

您可以查看一些关于轴配置的倍频程文档,但它不应该仅仅因为放大而使用不正确的y轴进行打印。您使用的是什么版本/操作系统等?这可以帮助我们重现问题。我使用的是W10 64位,倍频程版本4.0.3。。倍频程是为“i686-w64-mingw32”配置的。您可以查看一些关于轴配置的倍频程文档,但它不应该仅通过放大而使用不正确的y轴进行打印。您使用的是什么版本/操作系统等?这可以帮助我们重现问题。我使用的是W10 64位,倍频程版本4.0.3。。倍频程配置为“i686-w64-W32”。