【发布时间】:2017-05-10 01:21:24
【问题描述】:
我发现在某些情况下,MATLAB 会打印负 -0.0 作为轴刻度。我怎样才能消除这种情况?
问题代码
y = linspace(-.4,.3,100);
plot(y)
ax = gca();
ax.YAxis.TickLabelFormat = '%.1f'`
此代码生成类似this 的图,其中读取的零刻度不是“0.0”,而是“-0.0”。
我认为这里的关键是Y轴的最大值和最小值之间的间隔不能精确地表示为浮点数,所以'零'刻度实际上位于-5.6e-17。如果改为使用格式 ax.YAxis.TickLabelFormat = '%.1e'
出于挑剔的格式原因,我真的更喜欢我所有的轴刻度都具有相同的位数(即 -0.1、0.0、0.1 而不是 -0.1、0、0.1)。有没有办法消除这种格式中的负零?
在 MacOS Sierra 10.12.4 上使用 MATLAB2017a
【问题讨论】: