删除科学记数法,但在Matlab刻度标签中使用舍入

时间:2015-01-29 23:49:50

标签: matlab

我正在从一个生成矢量data的循环中进行非常小规模的绘图。无论如何,YTickLabel自动进入" 6x10-3"格式,例如。

data = [0.0004578945622489441 0.00154798436685536652442 0.005987463212456878422336324 0.003651558742652333624455];
plot(data)

我知道我可以使用以下内容显示完整的刻度标签:

yt = get(gca,'YTick');
set(gca,'YTickLabel', sprintf('%.4f|',yt))

但是,因为这些数字是从我的循环中生成的,所以它们很长(~20位),因此会完整显示它们。我需要以某种方式围绕我的蜱虫? (不使用YTickLabel = {'0.0001', '0.0002'};等手动操作)。

1 个答案:

答案 0 :(得分:3)

以下适用于我:

set(gca, 'YTickLabel', get(gca, 'YTick'))

在Matlab R2014b中你也可以使用

ax = gca;
ax.YTickLabel = ax.YTick;

无论哪种方式,这样做都是将YTick值分配给YTickLabel。不知何故,这会阻止科学记数法。