在matlab中绘制一个有很多子图的大图

Posted

技术标签:

【中文标题】在matlab中绘制一个有很多子图的大图【英文标题】:Plot a big figure with many subfigures in matlab 【发布时间】:2015-03-26 14:23:08 【问题描述】:

我必须打印一张大海报,其中包含一个数字矩阵,让 MATLAB 排列它们对我来说非常实用。不幸的是,显示的子图适合特定的图形大小,因此很小且失真。我想调整海报的纸张大小,而不是调整图形大小。

我已尝试使用set(gcf,'Position'..),并且还更改了纸张大小,但我仍然没有看到预期的结果。

我可以尝试让 MATLAB 使用整个 A0 表进行绘图吗?

这是我当前的输出:

【问题讨论】:

使用子图时出了什么问题?使用它并导出为 esp 应该可以提供高质量的打印。 Remove spacing in matlab subplot的可能重复 您能否编辑您的帖子以添加指向您的情节当前外观的图像的链接并描述您希望它的外观? 我同意 thewaywewalk,删除子图中的间距应该可以解决问题,对于您的 A0 打印,您只需将位置设置为适合 A0,这样您的图像就不会失真。 我不想删除空格,只是在 A0 大小的图形中显示可见的子图。为了清楚起见,我添加了这个数字。 【参考方案1】:
%just a dummy example
r=11;
c=4;
f=figure()
for inx=1:r*c
    subplot(r,c,inx)
    bar(randi(10,4,3))
end
%print it on A0
set(f,'paperunits','centimeter')
set(f,'papersize',[84.1,118.9])
set(f,'paperposition',[0 0 84.1 118.9]);
print(f,'example.pdf','-dpdf','-opengl');

如果我在 A0 上打印这样的绘图,一切看起来都很好。您的屏幕可能太小,但适合 A0 纸。

【讨论】:

我想知道为什么 '-opengl' 参数会有所不同,我尝试删除它并恢复了之前无用的结果。

以上是关于在matlab中绘制一个有很多子图的大图的主要内容,如果未能解决你的问题,请参考以下文章

python+matplotlib绘制具有多个子图的图表

python+matplotlib绘制具有多个子图的图表

python+matplotlib绘制具有多个子图的图表

如何绘制用于分组子图的括号

matlab调整legend方框大小

如何用MATLAB做双纵坐标图?其中一条是折线图,另一个是柱形图,还有我想做多子图的