尽管在我的脚本中以这种方式指定,但似乎无法强制 y 轴不使用指数表示法。 X轴工作正常

Can't seem to be able to force y axis to not be in exponent notation despite specifying it that way in my script. X axis works fine

我正在制作一个散点图并希望我的 x 轴和 y 轴不以科学记数法显示。当我输入应该解决这个问题的代码行时,只有 x 轴是固定的,y 轴保持不变。

尝试使用 ax.XAxis.Exponent = 0;。适用于 X 但 ax.YAxis.Exponent = 0; 不起作用。也遇到了 XRuler ,但这也没有用。也许值得注意的是,将 y 轴指数更改为零以外的任何值都可以正常工作

%-------------Make Plots-------------%

figure;
scatter(x, y, 30, magComp);
title('Compensated');


%---------------Plot Options----------------%

% axis equal
ax = gca;
ax.XAxis.Exponent = 0;
ax.YAxis.Exponent = 0;
c = colorbar();
c.Label.String = 'nT'
xlabel('Easting');
ylabel('Northing');
caxis([5.9e4 6e4]);

有什么见解吗?我是 MATLAB 的新手,很抱歉糟糕的代码格式。 Here is an example 我得到的输出(数据已装箱,因为它是 IP)。 x轴是对的,我的y轴还是科学计数法

我想我找到了解决办法。

将以下行添加到您的代码中:

ax.YAxis.TickLabelFormat = '%d';

[我不知道为什么 ax.YAxis.Exponent = 0; 不起作用]