首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mathematica中使用操作显示或隐藏组件

在Mathematica中使用操作显示或隐藏组件
EN

Stack Overflow用户
提问于 2011-06-07 21:22:10
回答 2查看 1.5K关注 0票数 1

如何设置Controller以显示或隐藏操作的图形组件?

代码语言:javascript
复制
Manipulate[Graphics[
{Pink, Disk[{1, 1}, r],
Green, Disk[{2, 2}, r]}],
{{r, 0.5, Style["Radius", Black, 16]}, 0.5, 5, 1, 
Appearance -> "Labeled"}]

例如,在上面,如何设置控制器显示或不显示绿色圆圈?

-解决方案:

代码语言:javascript
复制
Manipulate[Graphics[{
   If[thePink,
   {Pink, Disk[{1, 1}, r]}],
   If[theGreen,
   {Green, Disk[{2, 2}, r]}]
   }
   ],
   {{r, 0.5, Style["Radius", Black, 16]}, 0.5, 5, 1, 
   Appearance -> "Labeled"},
   {{thePink, True, "Pink"}, {True, False}},
   {{theGreen, False, "Green"}, {True, False}}]

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-07 21:44:44

你不能把绿球“藏起来”。

所显示的是操作表达式计算的结果。操作如下:

操纵表达式,control_variables

当任何控件变量(动态)发生更改时,将重新计算表达式并显示其结果。因此,当您移动滑块时,您正在更改一个变量值,因此表达式将被重新计算并显示其输出。

若要“隐藏”任何内容,则需要更改表达式不输出绿色球。因此,您需要添加一些控制变量(例如复选框),如果设置,则更改表达式以不显示绿色球。简单的逻辑测试就行了。例如

代码语言:javascript
复制
Manipulate[
 Graphics[{Pink, Disk[{1, 1}, r], Green, If[show, Disk[{2, 2}, r]], 
   Sequence[]}], {{r, 0.5, "Radius"}, 0.5, 
  5}, {{show, True, "Show Green Circle?"}, {True, False}}]

编辑:

WOw,谢谢西蒙,当我看到你的编辑时,我正准备粘贴一个你所做的事情的例子。谢谢。几乎和你的密码一样。这里最好粘贴它:)

代码语言:javascript
复制
Manipulate[Graphics[
{ Pink,Disk[{1,1},r],
  If[on,{Green,Disk[{2,2},r]}]
}] ,

{{r,0.5,"Radius"},0.5,5},
{{on,False,"show green ball"},{True,False}}

]
票数 4
EN

Stack Overflow用户

发布于 2011-06-07 21:57:36

也许:

代码语言:javascript
复制
Manipulate[
 Graphics[{Pink, Disk[{1, 1}, r], Opacity[o], 
          Green, Disk[{2, 2}, r]}], 
{{r, 0.5, "Radius"}, 0.5, 5}, 
{{o, 0.5, "Opacity"}, 0, 1}]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6271809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档