Matlab 更改图形大小以正确保存为 .png

Matlab change figure size to properly save to .png

我有一个从 matlab 获得的图,x 轴的范围从 0 到 1864 个值。我想将此图另存为 .png 图像,而无需手动修改原始 .fig 文件

我的剧情是这样的:

如您所见,最后两个数字重叠。原因是当matlab显示我的图像时,弹窗window太小了。我已经尝试使用 daspect 更改轴比,但它不起作用。 我认为可行的是使用函数 truesize,我的问题是当我尝试使用它时,我收到以下错误:

No images or texturemapped surfaces in the figure.

我的代码如下所示:

x = rand (1864,1);
F = bar (x);
xlim ([0 1864]);
set(gca, 'XTick', sort([1864, get(gca, 'XTick')]));
truesize(1,[100 100])

为什么会这样?如何解决此问题以保存图像以防止 x 标签重叠?

您可以尝试使用以下代码旋转 x 标签:

x = rand (1864,1);
F = bar (x);
xlim ([0 1864]);
set(gca, 'XTick', sort([1864, get(gca, 'XTick')]));
set(gca, 'XTickLabelRotation', 90)

请注意,如果需要,您可以将旋转角度更改为 90 以外的其他数字。

它给你一个看起来像这样的情节: