如何解决在Mathematica中操作自定义表格表示形式
| 考虑以下数据示例:data ={
{\"a\",\"b\",\"c\",\"d\",\"e\"},{1,2,3,4,5},{11,12,13,14,15},{21,22,23,24,25}
};
并使用以下函数来生成定制的表格表示形式:
(您可以参考Mr.Wizard广泛的解决方案以获取可自定义的表格表示形式。
最终我也将暂时操纵他提供的选项)
DataSampleX[data_,linesNumber_,range1_,range2_,color1_,color2_,color3_] :=
Grid[
Join[
{Range[range1,range2]},{Map[Rotate[Text[#],90 Degree] &,data[[1,range1 ;; range2]]]},data[[2 ;; linesNumber,range1 ;; range2]]
],Background -> {{{{color1,color2}},{1 -> color3}}},Dividers -> {All,{1 -> True,2 -> True,3 -> True,0 -> True}},ItemSize -> {1 -> Automatic,Automatic},Alignment -> Top,Frame -> True,FrameStyle -> Thickness[2],ItemStyle -> {Automatic,Automatic,{{1,1},Length[data]}} ->Directive[FontSize ->
15,Black,Bold]}
];
我想使用Manipulate或Dynamic通过上述方法显示部分数据。
选择我要显示的列范围,要显示的行数以及颜色。
以下是我未完成的尝试。
PopupMenu[Dynamic[range1],Range[1,Length@data[[1]] - 1,1]]
PopupMenu[Dynamic[range2],Range[2,Length@data[[1]],1]]
PopupMenu[Dynamic[linesNumber],Length@data[[All,1]] - 1,1]]
Dynamic[DataSampleX[data,linesNumber,range1,range2,LightBlue,LightGray,LightYellow]]
如何使用setter更新颜色值?
是否可以在“操纵”窗口中实际使用它?
欢迎提出任何其他建议,以使这种高效外观更好。
编辑:由于下面的Belisarius解决方案,我现在能做的事情:
解决方法
尝试类似的东西:
colsel = (#->Graphics[{#,Disk[]},ImageSize -> 15])& /@ColorData[1,\"ColorList\"];
s[x_] := Style[x,Black,Bold,12];
ct = ControlType -> PopupMenu;
Manipulate[
DataSampleX[data,linesNumber,range1,range2,color1,color2,color3],Row[{
Column[{
Control@{{range1,1,s@\"Range1\"},Range[1,Length@data[[1]] - 1],ct},Control@{{range2,2,s@\"Range2\"},Range[2,Control@{{linesNumber,s@\"Lines\"},Length@data[[All,1]]-1],ct}}],Spacer[20],Column[{
Control@{{color1,colsel[[1,1]],s@\"Color 1\"},colsel,Control@{{color2,colsel[[2,s@\"Color 2\"},Control@{{color3,colsel[[3,s@\"Color 3\"},ct}}]
}]]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。