考虑
dacount = {{0, 69}, {1, 122}, {2, 98}, {3, 122}, {4, 69}}
ListPlot[dacount, AxesOrigin -> {-1, 0},
PlotMarkers ->Automatic
PlotStyle-> Lighter[Red, #] & /@ Range[0.5, 1, 0.1],
Filling -> Axis, FillingStyle -> Opacity[0.8],
PlotRange -> {{-1, 4.5}, {0, 192}}]
我希望每一点都能采取不同的红色。 但是我不能理解如何设置一个我试图设置为不同列表的样式。
答案 0 :(得分:6)
在原始代码中,PlotStyle选项不会影响标记符号,因此您可以将其保留。而是将PlotMarkers选项更改为以下内容:
PlotMarkers -> With[{markerSize = 0.04},
{Graphics[{Lighter[Red, #], Disk[]}], markerSize} & /@ Range[0.5, 1, 0.1]]
在您将列表dacount替换为:
之前,这还不会产生预期的效果Map[List, dacount]
通过以这种方式增加点列表的深度,从PlotMarkers的列表中为每个点分配了自己的标记样式。所以最终的代码是:
ListPlot[Map[List, dacount], AxesOrigin -> {-1, 0},
PlotMarkers ->
With[{markerSize =
0.04}, {Graphics[{Lighter[Red, #], Disk[]}], markerSize} & /@
Range[0.5, 1, 0.1]], Filling -> Axis,
FillingStyle -> Opacity[0.8], PlotRange -> {{-1, 4.5}, {0, 192}}]
答案 1 :(得分:1)
您也可以通过以下方式执行此操作:
xMax = Max@dacount[[All, 1]];
Show@(ListPlot[{#}, AxesOrigin -> {-1, 0}, PlotMarkers -> Automatic,
PlotStyle -> (RGBColor[{(#[[1]] + 5)/(xMax + 5), 0, 0}]),
Filling -> Axis, FillingStyle -> Opacity[0.8],
PlotRange -> {{-1, 4.5}, {0, 192}}] & /@ dacount)
这会分别在dacount
中绘制每个点,并根据x
值为其指定一个红色。然后将这些图与Show
组合在一起。
我已经为不同的阴影任意选择了缩放和偏移。只要确保最大值为1,您就可以选择任何您想要的内容。