Checkbox 在Mathematica中,TogglerBar可以用作多个复选框吗?

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}}, {

是否可以使用切换工具栏而不是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}}, {{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
可能对本例的未来扩展有用。谢谢!如果您关心/有时间,您将在编辑的问题中找到“真正问题”的来源。