Dynamic Mathematica&;子菜单
我是新来的,我对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的位置有一个指向
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}]