5

Mathematica の同じプロット (ListLinePlot) に複数のリストをプロットし、PlotMarkers と PlotLegend パッケージを使用して最終的な図を取得しようとしています。問題は、Mathematica がすべての点にマーカーを配置するため、どのマーカーがプロット内のどこにあるかを判断するのが難しくなることです。n サンプルごとにプロット マーカーを表示することは可能ですか (たとえば、100 ポイント プロットの場合は 10 ポイントごと)。

現時点でのディレクティブは PlotMarkers->{Automatic, Small} です。

4

4 に答える 4

4

私はあなたのために何かを追加することMesh->10がうまくいくはずだと思います:

data = Accumulate /@ RandomReal[{-1/2, 1}, {3, 100}];
ListLinePlot[data, PlotMarkers -> {Automatic, Small}, Mesh -> 10]

プロットマーカーの数が固定されたListLinePlot

于 2011-01-25T03:02:33.803 に答える
3

ブレットの答えよりもプロット マーカーの位置を細かく制御したい場合は、おそらくマーカーを手動で配置する必要があります。例(ブレットの例を修正)

data = Accumulate /@ RandomReal[{-1/2, 1}, {3, 100}];
col = {Red, Blue, Green};
decimate[i_] := {col[[i]], PointSize -> Medium, 
  Point /@ Transpose[{Range[1, 100, 10], data[[i, 1 ;; -1 ;; 10]]}]}
ListLinePlot[data, PlotStyle -> col, Epilog -> Table[decimate[i], {i, 3}]]

ここに画像の説明を入力

もちろんPoint、必要なグラフィックオブジェクトに置き換えることができます-たとえばTextInsetなど...

于 2011-01-25T05:50:11.087 に答える
2

また、 Tooltipを使用して、マウス ポインターをマーカー座標の上に置くと、マーカー座標がポップアップするようにすること もできます。

ここに画像の説明を入力

于 2011-01-25T05:05:29.023 に答える
1

私がコメントで説明していたことの例。マーカーが正しく動作しません。

どうやらまだ画像を投稿できないようですが、次のコードを実行しています

data = Accumulate /@ RandomReal[{-1/2, 1}, {3, 100}];
ListLinePlot[data, PlotMarkers -> {Automatic, Small}, Mesh -> 5]

不適切な結果を与える必要があります。また、同じ図のデータとプロットの数は、どの点を個別に選択するかを個別に選択するには非常に多く、それぞれの場合で 100 から約 300 の間で変化する傾向があるため、異なるプロットとデータ範囲に対して同じディレクティブを維持したいと考えています。途中で他の計算で使用されるため、それらを別のテーブルに保存します。

上記のコードを実行するベリサリウスによって投稿されたプロット

ここに画像の説明を入力

于 2011-01-25T07:02:36.913 に答える