以可读的方式保存Matlab绘图

以可读的方式保存Matlab绘图,matlab,plot,save,matlab-figure,subplot,Matlab,Plot,Save,Matlab Figure,Subplot,我有一个有很多子情节的情节。由于数量太多,这些图太拥挤,无法在Matlab中进行分析,因此我想保存它们。然而,无论我选择的分辨率有多高,保存的图片总是和Matlab中显示的图一样拥挤 这里我有一个可复制的例子: for x = 1:1:20 subplot(20, 3, 1+3*(x-1)) plot(1:10); title('my_title'); subplot(20, 3, 2+3*(x-1)) plot(1:10); t

我有一个有很多子情节的情节。由于数量太多,这些图太拥挤,无法在Matlab中进行分析,因此我想保存它们。然而,无论我选择的分辨率有多高,保存的图片总是和Matlab中显示的图一样拥挤

这里我有一个可复制的例子:

for x = 1:1:20
        
    subplot(20, 3, 1+3*(x-1))
    plot(1:10);
    title('my_title');
    subplot(20, 3, 2+3*(x-1))
    plot(1:10);
    title('my_title');
    subplot(20, 3, 3+3*(x-1))
    plot(1:10);
    title('my_title');

end

print(gcf, 'test.png', '-dpng', '-r1000');
如何以可读的方式保存此绘图

澄清:由于我的小电脑屏幕上有很多情节,情节非常拥挤。这是一个问题,因为字体大小(我认为可能会有变化),但也因为绘图被强烈“压缩”以适合我的屏幕

如果我现在以更高的分辨率保存绘图,图片在我的屏幕上看起来仍然像(拥挤)

如果我连接一个更大的屏幕(更高的分辨率),图片将看起来不同(例如,字体大小将保持不变,但绘图将占用更多空间等)


可能是一个保存图片的选项,就像它显示在更大的屏幕上一样?

您需要做两件事:

  • 减少轴的字体和线宽/标记大小
  • 将图形另存为矢量图形文件,如PDF
如下所示:前50个子图凌乱且不可读,但放大时最后50个子图清晰可见(只要将图形保存为矢量图形文件)

以下是我用来生成图形的代码:

    figure;
for i = 1:10
    for j = 1:10

        subplot(10,10,(i-1)*10+j); grid on; hold on;
        p = plot([1,2],[1,2],'ko-');
        axis([0 3 0 3])

        if ((i-1)*10+j)>50
            set(gca, 'FontSize', 2)
            p.MarkerSize = 2;
        end

    end
end

如果要在绘图上绘制较少的线,请在绘图上绘制较少的轴/线。如果这不是一个选项,您可以指定哪些内容更具可读性?或者减小字体大小?查看“地物导出”对话框。在那里,您可以配置导出文件时如何处理字体大小。在“地物”菜单中:文件->导出设置->属性->字体。查看地物的PaperPosition和PaperSize属性。这些属性与打印一起使用。纸张大小默认为屏幕上的大小,但您可以将其放大。