Checkbox 在Mathematica中,TogglerBar可以用作多个复选框吗?
是否可以使用切换工具栏而不是2复选框来显示不同的形状 每个按钮上都写有绿色和红色Checkbox 在Mathematica中,TogglerBar可以用作多个复选框吗?,checkbox,wolfram-mathematica,togglebutton,Checkbox,Wolfram Mathematica,Togglebutton,是否可以使用切换工具栏而不是2复选框来显示不同的形状 每个按钮上都写有绿色和红色 Manipulate[ Graphics[{If[thePink, {Pink, Disk[{5, 5}, 3]}], If[theGreen, {Green, Disk[{15, 2}, 1]}]}, PlotRange -> {{0, 20}, {0, 10}}], {{thePink, True, Style["Pink", Black, Bold, 12]}, {True, False}}, {
Manipulate[
Graphics[{If[thePink, {Pink, Disk[{5, 5}, 3]}],
If[theGreen, {Green, Disk[{15, 2}, 1]}]},
PlotRange -> {{0, 20}, {0, 10}}], {{thePink, True,
Style["Pink", Black, Bold, 12]}, {True, False}}, {{theGreen, True,
Style["Green", Black, Bold, 12]}, {True, False}}]
我试图调整的实际操纵对象可以在那里找到:
其目的是用一个漂亮的切换条替换复选框。像这样
Manipulate[
Graphics[{
{White, Circle[{5, 5}, r]}, (* For Mma 7 compatibility*)
If[MemberQ[color, "Red"], {Pink, Disk[{5, 5}, r]}],
If[MemberQ[color, "Green"], {Green, Disk[{4, 2}, r]}]},
PlotRange -> {{0, 20}, {0, 10}}],
{{r, 1, "Radius"}, 1, 5, 1, ControlType -> Setter},
{{color, "Red", "Color"}, {"Red", "Green"}, ControlType -> TogglerBar},
LabelStyle -> Large]
编辑
回答您的评论,我认为您的笔记本可能会受益于这样一个模板:
Manipulate[
Graphics[
{
{White, Circle[{5, 5}, r]},(* For Mma 7 compatibility*)
If[MemberQ[whatToDisplay, "Circle"], {Red, Circle [{5, 5}, r]}],
If[MemberQ[whatToDisplay, "Square"], {Blue, Rectangle[{5, 5}, {r, r}]}],
If[MemberQ[whatToDisplay, "Other"], {Black, Line [Tuples[{3, 4}, 2]]}],
},
PlotRange -> {{0, 20}, {0, 10}}
],
(* Controls follow *)
{{r, 1, Style["Radius", Black, Bold, 12]}, 1, 5, 1, ControlType -> Slider
, ControlPlacement-> Top
},
Control@{{whatToDisplay, True, Style["What", Black, Bold, 12]},
{"Circle", "Square", "Other"},
ControlType -> TogglerBar,
Appearance -> "Vertical",
ControlPlacement -> Left
}
]
怎么样
Manipulate[
Graphics[{#} & /@ x,
PlotRange -> {{0, 20}, {0, 10}}],
{{x, {}, "Colour"},
{{Pink, Disk[{5, 5}, 3]} \[Rule] "Pink",
{Green, Disk[{15, 2}, 1]} \[Rule] "Green"},
ControlType -> TogglerBar}]
不过,它又丑又不雅!动态操作不是我最喜欢使用的Mathematica,所以这对我来说也是一种尝试和错误
编辑:现在稍微不那么难看了。。。
编辑2:添加了一个标签这个怎么样
Manipulate[
Show[Graphics[myObject],
PlotRange -> {{0, 20}, {0, 10}}], {{myObject, {},""}, {{Pink,
Disk[{5, 5}, 3]} ->
Style["Pink", Black, Bold, 12], {Green, Disk[{15, 2}, 1]} ->
Style["Green", Black, Bold, 12]}}, ControlType -> TogglerBar]
@贝里萨利斯,我想两者都选。我实际上会实现它来显示或隐藏我分析的不同视觉组件。请让我知道,如果你有一个替代下面的一个。谢谢。@Belisarius,我已经将我的笔记本上传到下面的链接。如果你有时间的话,你认为我有希望把这个应用到我所有的If语句中,用一个漂亮的单条代替所有的复选框吗?运行所有笔记本应该是显示对象所需的全部。再次感谢您的关注@贝里萨利斯,这太完美了。我希望我的代码在你的专家眼里不是那么难看;)@贝里萨里乌斯。我们可以调整一下里面的字体吗?如果你认为为了论坛的利益值得再发一篇文章,我会问这个问题。@500哦,天哪!我是个物理学家!非常感谢。但是我必须说我还不明白它是如何工作的,因为我需要用一个相当复杂的操作来实现它。我将尝试编辑我的问题,以显示问题:)我没有回答它,但看看其他人是否有想法@没问题。请注意,我现在添加了一个标签(我看到您在问如何做)。也许可以提供更多你不了解的细节(或者你真正的问题是什么)。你会发现我的笔记本上只有相关的操纵对象没有打开。你认为我有希望把这个应用到我所有的If语句中,让它有一个漂亮的单条而不是所有的复选框吗?按住Shift键并按Enter键可以看到对象!非常感谢您的关注!非常感谢您提供的任何帮助@500应该不是问题,但现在已经很晚了,我要辞职了。如果明天还没有人做完,我会:)谢谢你!,隐藏“u”的任何方法?@500“u”显示为变量的标签;标签是任何动态变量的选项。我将“u”更改为myObject,并为其提供了一个空字符串:“”,作为标签选项。空字符串将不会显示,尽管您可以改为输入更多描述性名称。另请注意,在这种情况下,
Show
不是必需的,因为Graphics
可以使用绘图范围。但是Show
可能对本例的未来扩展有用。谢谢!如果您关心/有时间,您将在编辑的问题中找到“真正问题”的来源。