我使用MATLAB R2021 b。我有一个10 x10的数据数组,我使用contourf
函数来绘制数据。默认情况下,MATLAB给我一个1120 x840像素的图形。
我知道我可以使用命令set(gcf, 'position', [700, 700, 100, 100])
来减小图形的大小,得到一个200 x200像素的图形,我决定将set
函数中的值缩小一半,得到一个100 x100的图形。
然而,当我尝试执行set(gcf, 'position', [700, 700, 50, 50])
时,得到的图形大小为100 x160,无论我如何进一步减小set
函数中的值,图形的第二维仍保持在160像素,而第一维没有问题--它可以随着set
函数中的值而缩小。
有人知道问题在哪里吗?我的目标是得到一个100 x100像素的图形。
非常感谢你的任何建议!
2条答案
按热度按时间k10s72fa1#
MATLAB总是有一个最小尺寸的图形窗口。一个更小的窗口不能包含最小的菜单和工具栏按钮集。
但导出小图时不需要小窗口。
导出绘图时,MATLAB使用“PaperPosition”和“PaperUnits”图形属性。将单位设置为像素,将大小设置为所需大小,以便以这些大小导出图形。
当然还有其他的选择:
如果你不想导出,只想在屏幕上显示一个小窗口,可以考虑在同一个图形窗口中放置多个对象,你所需要做的就是控制坐标轴的“位置”属性。
dfuffjeb2#
我是楼主,我觉得Windows和Mac操作系统都有一个最小窗口尺寸,100像素比最小窗口尺寸小,所以我无法生成这么小的数字,这应该是我问题的答案。