Dynamic Mathematica&;子菜单

Dynamic Mathematica&;子菜单,dynamic,popup,controls,wolfram-mathematica,Dynamic,Popup,Controls,Wolfram Mathematica,我是新来的,我对Mathematica中的操纵函数有一个问题:我需要绘制一个嵌套列表的一些数据,其中第一个坐标选择一个类别(股票,如银行、汽车、制药等),每个类别中都有年和月坐标,所以应该是 In:= list[[cat]][[yr]][[mnth]] Out= {1,2,3,4,5,6} 它们是属于类别cat的已排序股票价格 现在,我想在Operate中用一个动态索引绘制这个图,该索引带有一个PopupMenu,它允许选择我需要绘制的类别:我已经有一个向量sect,它在cat的位置有一个指向

我是新来的,我对Mathematica中的操纵函数有一个问题:我需要绘制一个嵌套列表的一些数据,其中第一个坐标选择一个类别(股票,如银行、汽车、制药等),每个类别中都有年和月坐标,所以应该是

In:= list[[cat]][[yr]][[mnth]]
Out= {1,2,3,4,5,6}
它们是属于类别
cat
的已排序股票价格

现在,我想在
Operate
中用一个动态索引绘制这个图,该索引带有一个
PopupMenu
,它允许选择我需要绘制的类别:我已经有一个向量
sect
,它在
cat
的位置有一个指向列表中
cat
的扇区(也就是说
sect[[I]]
列表[[i]]
的一个类别,但结果很差

我尝试过使用
操纵[…,{index,sect}]
,这似乎是正确的方法,因为在输出中实际上有一个弹出菜单,但它仍然会在控制循环中给出语法错误,我只需要绘制正确的扇区,比如

In:= list[[cat]][[yr]][[mnth]]
Out= {1,2,3,4,5,6}
如果[sect[[j]]==索引,则绘制[list[[j]]]]


所以我被困在这里,多亏了任何人的帮助

我不相信您的数据结构是最优的,但这里有一组数据示例:

data2 = {
{"stock",
{
 Range[6], Range[6, 12],
 Range[12, 18]
 },
{
 Range[18, 24], Range[24, 30],
 Range[30, 36]
 }
},
{"bank",
Table[Range[i, i + 5], {i, 1, 18, 6}],
Table[Range[i, i + 5], {i, 18, 30, 6}]
}
};
以及:

Manipulate[ListPlot[data2[[cat, year, month]]],
{{cat, 1, "Category"}, {1 -> "stock", 2 -> "bank"}, 
ControlType -> PopupMenu},
{{year, 2, "Year"}, {2 -> "2010", 3 -> "2011"}, 
ControlType -> PopupMenu},
{{month, 1, "Month"}, {1 -> "Jan", 2 -> "Feb", 3 -> "Mar"}, 
ControlType -> PopupMenu}]