以可读的方式保存 Matlab 图

Save Matlab plot in readable manner

我有一个有很多子图的情节。由于数量太多,这些图变得太拥挤而无法在 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');

如何以可读的方式保存此图?

说明:由于我电脑屏幕小,剧情比较多,所以剧情很挤。这是一个问题,因为字体大小(我认为它可能会以某种方式改变),但也因为这些图被强烈“压缩”以适合我的屏幕。

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

如果我连接更大的屏幕(更高分辨率),图片看起来会有所不同(例如字体大小会保持不变,但绘图会花费更多 space 等)。

也许有一个选项可以像在更大的屏幕上显示一样保存图片?

你需要做两件事:

  • 减小轴的字体和LineWidth/MarkerSize,
  • 将您的图形保存为矢量图形文件,例如 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