MathematicaのListPlotで点スタイルを指定する

plot point wolfram-mathematica
MathematicaのListPlotで点スタイルを指定する

検討中

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

image:https://i.stack.imgur.com/uuj5Y.png [ここに画像の説明を入力]

それぞれのポイントが異なる赤の色合いになることを望んでいました。 しかし、私は別のリストとして設定しようとしたポイントのスタイルを持つ方法を理解することはできません。

  1  0


ベストアンサー

元のコードでは、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}}]

image:https://i.stack.imgur.com/XsT9L.png [ここに画像の説明を入力]

6


次のようにすることもできます。

xMax = [email protected][[All, 1]];
[email protected](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)

image:https://i.stack.imgur.com/zptiw.png [ここに画像の説明を入力]

これは、 dacount`の各ポイントを個別にプロットし、 x`の値に応じて赤のシェードを割り当てます。 次に、プロットは「表示」と結合されます。

さまざまな色合いのスケーリングとオフセットを任意に選択しました。 最大値が1であることを確認する限り、任意の値を選択できます。

1


タイトルとURLをコピーしました