wolfram-mathematica - 当ContentSize不适合Manipulate中的内容时,如何不显示滚动条?

标签 wolfram-mathematica

这是我想要做的一个示例:在 Manipulate 本身的控制区域中进行所有显示:

Manipulate[

 p = Framed@
   Plot[Sin[x],{x, -y, y},ImageSize->300,Background-> White, ImagePadding -> 20];
   {},

 Grid[{
   {Control[{{y, N@Pi/2, "y"}, -Pi, Pi, Appearance -> "Labeled"}]},
   {Dynamic@p}
   }],

 ControlPlacement -> Left,
 Alignment -> Center,
 ImageMargins -> 1,
 FrameMargins -> 1,
 ContentSize -> {0}
 ]

问题是M自动添加了滚动条:

enter image description here

帮助说

If ContentSize specifies a content area that does not completely fit 
the contents, then unless specified otherwise with AppearanceElements, 
functions like Manipulate display a resize area, as well as scrollbars 
when necessary.

问题是,如何使用AppearanceElements去掉这个滚动条?

(有时我希望 M help 在解释某些事情时不要那么简短)。

在上面,请注意它说:除非 AppearanceElements 另有指定, 但我无法找出这意味着什么。 ‘否则’是什么意思 应该是什么意思?

我得到的最接近的是在上面添加 AppearanceElements -> "" 。所以新的 版本现在变为

Manipulate[
 p = Framed@
   Plot[Sin[x], {x, -y, y}, ImageSize -> 300, Background -> White, 
    ImagePadding -> 20];
 {},
 Grid[{
   {Control[{{y, N@Pi/2, "y"}, -Pi, Pi, Appearance -> "Labeled"}]},
   {Dynamic@p}
   }],

 ControlPlacement -> Left,
 Alignment -> Center,
 ImageMargins -> 1,
 FrameMargins -> 1,
 ContentSize -> {0},
 AppearanceElements -> "" (*added this *)
 ]

enter image description here

但是请注意,右侧的尺寸仍然不太正确,应该更紧一些, 而且我还丢失了原来的“+”。我必须保留它。

所以,我认为我需要的只是找到“+”的元素名称是什么,这样我就可以使用 正确的 AppearanceElements -> "CorrectNameHere" 我希望这 会做正确的事。 (我尝试了“关闭”,但没有成功,我也丢失了“+”)

我只是找不到“+”元素名称是什么。有人知道吗?

以下位置可以找到更多相关信息:

http://reference.wolfram.com/mathematica/ref/Manipulator.html

http://reference.wolfram.com/mathematica/ref/ContentSize.html

那么,问题是:如何彻底去除显示的滚动条效果 上面,但同时保留右上角的“+”。

谢谢

更新2

感谢下面的回答,这是结果的屏幕截图。

Manipulate[
 p = Framed@
   Plot[Sin[x], {x, -y, y}, ImageSize -> 300, Background -> White, 
    ImagePadding -> 20];
 {}, Grid[{{Control[{{y, N@Pi/2, "y"}, -Pi, Pi, 
      Appearance -> "Labeled"}]}, {Dynamic@p}}], 
 AppearanceElements -> "BookmarksButton", ControlPlacement -> Left, 
 Alignment -> Center, ImageMargins -> 1, FrameMargins -> 1, 
 ContentSize -> {0}, Alignment -> Center]

enter image description here

我对此很满意。顶角出现的小白线似乎 是这个的副作用。我想我必须忍受它。

最佳答案

Manipulate[
 p = Framed@
   Plot[Sin[x], {x, -y, y}, ImageSize -> 300, Background -> White, 
    ImagePadding -> 20];
 {}, Grid[{{Control[{{y, N@Pi/2, "y"}, -Pi, Pi, 
      Appearance -> "Labeled"}]}, {Dynamic@p}}]
 , AppearanceElements -> "ManipulateMenu", ControlPlacement -> Left, 
 Alignment -> Center, ImageMargins -> 1, FrameMargins -> 0, 
 ContentSize -> {0} ]

设置FrameMargins->0可以消除白线(无论如何在Mac上),但仍然保留框架线。 Frame->False 不会改变这一点。看来 Manipulate 无论如何都想绘制一个内容区域。 AppearanceElements 选项似乎记录不完整/不完整。以下是有效的选项,尽管可能还有其他我不知道的选项:

{"ContentResizeArea", "HideControlsButton", "ManipulateMenu", "SnapshotButton", 
"ResetButton", "UpdateButton", "BookmarksButton", All, None}

关于wolfram-mathematica - 当ContentSize不适合Manipulate中的内容时,如何不显示滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8556234/

相关文章:

browser - 从Web导入-Mathematica中的设置用户代理

mysql - 将 Mathematica 中的绘图作为 blob 插入 mysql

wolfram-mathematica - 您如何在Mathematica中访问ARGV?

wolfram-mathematica - 如何用权重标记图形边缘

wolfram-mathematica - Wolfram-Mathematica 中符号积分的解决方案

pdf - 无法打印从 Mathematica 8 导出的 PDF

wolfram-mathematica - 如何指定 Wolframalpha 图中哪个轴上的哪个变量?

wolfram-mathematica - 是否有支持 Mathematica 风格工作簿但可定制的应用程序?

wolfram-mathematica - 从 Palette 操作获取包时出现阴影问题

wolfram-mathematica - PlotLegend 与 Mathematica 8 的兼容性