问题描述
我有很多子图的情节。由于数量众多,这些图变得过于拥挤,无法在Matlab中进行分析,因此我想保存它们。但是,无论我选择多高的分辨率,保存的图片总是像Matlab中显示的那样拥挤。@H_404_1@
for x = 1:1:20
subplot(20,3,1+3*(x-1))
plot(1:10);
title('my_title');
subplot(20,2+3*(x-1))
plot(1:10);
title('my_title');
subplot(20,3+3*(x-1))
plot(1:10);
title('my_title');
end
print(gcf,'test.png','-dpng','-r1000');
如何以可读的方式保存该图?@H_404_1@
说明:由于我的小型计算机屏幕上有很多图,所以图非常拥挤。这是一个问题,这是由于字体大小(我认为可以以某种方式更改),也归因于这些图被强烈地“压缩”以适合我的屏幕。@H_404_1@
如果我现在以更高的分辨率保存图,图片仍然看起来像在我的屏幕上(拥挤)。@H_404_1@
如果我要连接更大的屏幕(更高分辨率),则图片看起来会有所不同(例如,字体大小将保持不变,但绘图将占用更多空间等)。@H_404_1@
解决方法
您需要做两件事:
- 减少轴的字体和LineWidth / MarkerSize,
- 将图形另存为矢量图形文件,例如PDF。
请参见下文:放大后,前50个子图是混乱且不可读的,但只要将图形另存为矢量图形文件,后50个子图就可以清晰显示。
这是我用来生成图形的代码:
const elem = document.getElementById('button1');
const getParam = sessionStorage(JSON.parse["testStyles"]);
if (elem && getParam) {
const elemStyle = elem.style;
if (elemStyle) {
for (const key in getParam) {
elemStyle[key] = getParam[key];
}
}
}