Укажите стиль точки в ListPlot в Mathematica - PullRequest
1 голос
/ 04 сентября 2011

Учитывая

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}}]

enter image description here

Я надеялся, что для каждой точки был выбран красный оттенок. Но я не могу понять, как создать стиль для точки, которую я пытался установить в качестве другого списка.

Ответы [ 2 ]

6 голосов
/ 04 сентября 2011

В вашем исходном коде опция PlotStyle не повлияет на символы маркера, поэтому вы можете не указывать ее.Вместо этого измените свой параметр PlotMarkers на следующее:

PlotMarkers ->  With[{markerSize =  0.04}, 
 {Graphics[{Lighter[Red, #], Disk[]}], markerSize} & /@ Range[0.5, 1, 0.1]]

Это пока не будет иметь желаемого эффекта, пока вы не замените список рассылки на:

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}}]

enter image description here

1 голос
/ 04 сентября 2011

Вы также можете сделать это следующим образом:

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)

enter image description here

Это отображает каждую точку в dacount индивидуально и присваивает ей оттенок красного в зависимости от x значение.Затем графики объединяются с Show.

. Я произвольно выбрал масштабирование и смещение для разных оттенков.Вы можете выбрать все, что захотите, при условии, что максимальное значение равно 1.

...