Пользовательские интервалы маркеров в Mathematica PlotMarkers - PullRequest
5 голосов
/ 25 января 2011

Я пытаюсь построить несколько списков на одном графике в Mathematica (ListLinePlot) и использую PlotMarkers и пакет PlotLegend, чтобы получить окончательную фигуру.Проблема в том, что Mathematica ставит маркер для каждой точки, и это затрудняет определение того, какой маркер находится на графике.Можно ли сделать так, чтобы маркер графика появлялся в каждом n образце (например, каждые 10 баллов для графика в 100 баллов).

На данный момент директивой является PlotMarkers -> {Automatic, Small}.

Ответы [ 4 ]

4 голосов
/ 25 января 2011

Я думаю, что добавление чего-то вроде Mesh->10 должно работать для вас:

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

ListLinePlot with a fixed number of plot markers

3 голосов
/ 25 января 2011

Если вы хотите иметь больший контроль над расположением маркеров графика, чем ответ Бретта , вам, вероятно, придется размещать маркеры вручную.Например (модифицируя пример Бретта)

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

enter image description here

Конечно, Point можно заменить любым графическим объектом, который вы хотите - например, Text, Inset и т. Д..

2 голосов
/ 25 января 2011

Также помните, что вы можете использовать Подсказка , чтобы заставить координаты маркера всплывать, когда вы наводите на него указатель мыши:

enter image description here

1 голос
/ 25 января 2011

Пример того, что я описывал в комментарии. Маркеры не ведут себя должным образом.

Видимо, я пока не могу публиковать изображения, но запускаю следующий код

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

должно давать неправильные результаты. Кроме того, число данных и графиков на одном и том же рисунке достаточно велико, чтобы индивидуально выбирать, какие точки, и я хотел бы сохранить одни и те же Директивы для разных графиков и диапазонов данных, поскольку они, как правило, варьируются от 100 до около 300 в каждом случае, и сохранить их в разных таблицах, так как они используются в других вычислениях по пути.

Сюжет Автор: belisarius, с кодом выше

enter image description here

...