【发布时间】:2011-11-17 23:36:38
【问题描述】:
是否有 ImageSize 的参数以使 Graphics 或 Manipulate 自动适应笔记本宽度。
【问题讨论】:
标签: graphics wolfram-mathematica
是否有 ImageSize 的参数以使 Graphics 或 Manipulate 自动适应笔记本宽度。
【问题讨论】:
标签: graphics wolfram-mathematica
怎么样
Plot[Sin[x], {x, -5, 5}, ImageSize -> Full]
编辑:或
Manipulate[
Show[
{
Plot[Sin[alpha*x], {x, -5, 5}],
Plot[Cos[alpha*x], {x, -5, 5}]
},
ImageSize -> Full
],
{alpha, 1, 2}
]
【讨论】:
这是Acl解决方案之外的另一种选择:
width := 0.85Cases[NotebookGet[], (WindowSize -> {x_, _}) -> x]
Plot[Sin[x], {x, -5, 5}, ImageSize -> {width, Automatic}]
这种方法的缺点是左边的空间(你有In[10]:=等)是恒定的,不会随着笔记本的宽度而改变。所以我上面使用的宽度百分比会根据你笔记本的宽度而有所不同。有可能弥补这一点,但我不会这样做。但是,一旦你确定了宽度并找到了最佳位置,它应该会很好。
这在您需要明确提供尺寸/坐标并且不能使用像Full 这样的选项的情况下很有用。
【讨论】:
对于两个并排的图形对象,使用ImageSize 选项到GraphicsRow
Manipulate[
GraphicsRow[{Show[{Plot[Sin[alpha*x], {x, -5, 5}],
Plot[Cos[alpha*x], {x, -5, 5}]}],
Show[{Plot[Sin[alpha*x], {x, -5, 5}],
Plot[Cos[beta*x], {x, -5, 5}]}]}, ImageSize -> Full], {alpha, 1,
2}, {beta, 1, 2}]
【讨论】: