如何改变身材尺寸?

12,912次浏览(最近30天)
约翰
约翰 2015年1月30日
评论道: 伊桑·达克沃斯2022年10月10日9时59分
我在试着改变尺寸。在下面的示例中,我希望图(2)具有不同的大小。为了实现这一点,我补充说:
集(gcf,“PaperUnits”“英寸”);
集(gcf,“PaperSize”, [4 2]);
集(gcf,“PaperPositionMode”“手动”);
集(gcf,“PaperPosition”, [0 0 4 2]);
知道为什么不行吗?
clc;
清晰的所有
T = 0:.1:4*pi;
Y = sin(t);
图(1)
集(gcf,渲染器的“画家”);
情节(t, y)
包含(“时间(s)”
ylabel (“y (t)”
标题(“罪函数”
传奇(“y =罪(t)”
轴([0 t(end) -1.5 1.5])
集(gca),
“单位”“归一化”
“YTick”-1.5: .5:1.5,
“XTick”, 0: t(结束)/ 4:t(结束),
“FontUnits”“点”
“FontWeight”“正常”
“字形大小”9
“字体名”“次”
集(gca),“位置”甘氨胆酸,(,“OuterPosition”) -
get (gca),“TightInset”) * [-1 0 1 0;0 -1 0 1;0 0 1 0;0 0 0 1];
图(2)
集(gcf,渲染器的“画家”);
集(gcf,“PaperUnits”“英寸”);
集(gcf,“PaperSize”, [4 2]);
集(gcf,“PaperPositionMode”“手动”);
集(gcf,“PaperPosition”, [0 0 4 2]);
情节(t, y)
包含(“时间(s)”
ylabel (“y (t)”
标题(“罪函数”
传奇(“y =罪(t)”
轴([0 t(end) -1.5 1.5])
集(gca),
“单位”“归一化”
“YTick”-1.5: .5:1.5,
“XTick”, 0: t(结束)/ 4:t(结束),
“FontUnits”“点”
“FontWeight”“正常”
“字形大小”9
“字体名”“次”
集(gca),“位置”甘氨胆酸,(,“OuterPosition”) -
get (gca),“TightInset”) * [-1 0 1 0;0 -1 0 1;0 0 1 0;0 0 0 1];

接受的答案

乍得格林
乍得格林 2015年1月30日
编辑:MathWorks支持团队 2021年4月28日
纸张大小选项是用于打印的,因此它们不会改变图形的大小。
Position属性设置图形的大小(默认为像素)。将属性指定为形式为[x y width height]的矢量,其中x和y定义了从屏幕左下角到图形左下角的距离。还要注意,您可以一次设置多个属性,而不必多次调用set(gcf,…)。你甚至可以在创建图形时包含它们:
图(渲染器的“画家”“位置”, [10 10 900 600])
你也可以为你的图形保存一个句柄,并使用点表示法设置位置属性:
F =图;
f.Position = [100 100 540 400];
有关以编程方式更改图形大小的示例,请参阅以下内容: //www.ru-cchi.com/help/matlab/ref/figure.html#mw_e279e63f-1641-4b14-a781-c5facd020190
有关图形属性的更多信息,请参阅以下文档: //www.ru-cchi.com/help/matlab/ref/matlab.ui.figure-properties.html
6个评论
史蒂文的主
史蒂文的主 2020年2月20日
这有点晚了,但是 如果您使用的是R2018a或更高版本 的WindowState属性 数字 对象来最大化或最小化图形,或者以全屏模式显示图形,而不是使用上面评论附带的图像分析函数。

登录评论。

更多答案(4)

乍得格林
乍得格林 2015年1月30日
对于全屏图形,您可以使用 fullfig

Constantino Carlos Reyes-Aldasoro
首先,你所指的尺寸似乎有些混乱,可以是a)屏幕上的,也可以是b)打印的,也可以是c)像素大小的(如jpg格式)。
如果你想让两个图形在屏幕上具有相同的尺寸,那么重要的参数是图形的“位置”,即。
图(1)
情节(t, y)
集(gcf,“位置”,[100 100 500 500])
图(2)
情节(t2, y2)
集(gcf,“位置”,[100 100 500 500])
这样两个图形的大小和位置就完全一样了。您可以更改每个元素的放置位置和尺寸。实际上,使用句柄比使用gcf更好,因为gcf使用的是最后一个图(示例)
h1 =图(1);
情节(t, y)
集(h1,“位置”,[10 10 500 500])
h2 =图(2);
情节(t2, y2)
集(h2,“位置”,[510 10 500 500])
请注意,gcf指的是图形,如果您使用gca进行更改,您将在图形内部移动轴,但图形大小不会改变。
如果你想在打印或外部图像中更改,请告诉我,我会扩展。
2的评论
亨利·斯金纳
亨利·斯金纳 2020年9月9日
这对我的问题很有帮助,谢谢Constantino!

登录评论。


Jan Cagan
Jan Cagan 2018年6月5日
你好,
我正在使用此图初始化并导出:
FIG =图(“单位”“英寸”“位置”, (0, 0, 3.3, 2 * 3.3 / 3]);
打印(图、名称、“-r800”“-dpng”);
在大多数情况下,输出具有相同的大小,但有时大小略有不同。为什么?如何避免这种行为?我在Ubuntu 16.04中使用Matlab与-nodesktop -softwareopengl
提前谢谢你。J。
1评论
伊桑·达克沃斯
伊桑·达克沃斯 2022年10月10日9时59分
如果没有看到你的例子,很难知道为什么它们会略有不同。但我猜是坐标轴上的标签和/或数字。

登录评论。


卡洛
卡洛 2022年8月4日
编辑:沃尔特·罗伯森 2022年8月6日
清楚,clc;
阿尔法0:2:6.28
无法识别的函数或变量' alpha '。
y =罪(阿尔法);
情节(阿尔法,y,“r”
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2022年8月6日
您遗漏了一个将这些值赋值的= 阿尔法

登录评论。

世界杯预选赛小组名单社区寻宝

在MATLAB Central中寻找宝藏,并了解社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map