2

我正在尝试创建特定元素的 x 射线能量的交互式图。

为此,我创建了一堆 x,y 点(代表每个元素的 x 射线能量和任意 y 值)。然后我使用 ListPlot 和 Filling ->Axis 来创建可见线。除了“填充”使用默认的米色配色方案来标记每个元素之外,一切都很好。这很难阅读/比较。当我尝试使用“FillingStyle -> blah”来更改配色方案、厚度、不透明度等时,所有元素的绘图都会崩溃或默认为黑色。

例如,唯一可行的选项是将所有填充更改为“蓝色”(并不能真正帮助我比较和对比元素)。我也尝试过修改 PlotStyle 但它似乎对填充没有影响(并不惊讶 - 但它会很好)。

 Manipulate[
 Grid[{
   {(*grid group 1*)
    Show[
     {
      ListPlot[
       {mNe ne, mNa na, mMg mg, mAm am},
       Filling -> Axis, FillingStyle -> Blue, PlotMarkers -> {""}, 
       AspectRatio -> .25, ImageSize -> 500, AxesLabel -> {"eV", ""}, 
       PlotRange -> {{0, 20000}, {0, 1}}
       ]
      }
     ], "Full View"}}
  ],
 {{mNe, 1, "Ne"}, {0, 1}, Checkbox},
 {{mNa, 0, "Na"}, {0, 1}, Checkbox},
 {{mMg, 0, "Mg"}, {0, 1}, Checkbox},
 {{mAm, 1, "Am"}, {0, 1}, Checkbox}]

显然这段代码不会编译,因为我没有为你提供原始数据。我是这个论坛的新手,所以我还不能发布屏幕截图。对不起。

所以最终目标是让每个元素都以独特的(高对比度颜色)显示。我不想为每个元素指定颜色(要绘制 93!)。

任何帮助将不胜感激!

4

1 回答 1

1

您需要在Filling选项中为每个数据集指定填充,如下所示:

{one, two, three} = 
  Table[{RandomReal[30, 30], RandomReal[1, 30]}\[Transpose], {3}];

ListPlot[{one, two, three}, PlotStyle -> None, AspectRatio -> .25,
  Filling -> {1 -> {Axis, Red}, 2 -> {Axis, Darker@Green}, 3 -> {Axis, Blue}}
]

数学图形

来自文档Filling中的更多信息:

数学图形

于 2012-10-04T12:05:02.783 回答