开发者

Custom Intervals of Markers in Mathematica PlotMarkers

开发者 https://www.devze.com 2023-02-06 18:51 出处:网络
I am trying to plot multiple lists in the same plot in Mathematica (ListLinePlot) and use PlotMarkers and the PlotLegend Package to get the final figure.The issue is that Mathematica puts a marker for

I am trying to plot multiple lists in the same plot in Mathematica (ListLinePlot) and use PlotMarkers and the PlotLegend Package to get the final figure. The issue is that Mathematica puts a marker for every point and this makes it hard to tell which marker is where in the pl开发者_开发知识库ot. Is it possible to have a plot marker appear every n sample (e.g. every 10 points for a 100 point plot).

The Directive at the moment is PlotMarkers->{Automatic, Small}.


I think adding something like Mesh->10 should work for you:

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

Custom Intervals of Markers in Mathematica PlotMarkers


If you want more control over the location of the plot markers than Brett's answer gives you, then you probably have to place the markers manually. Eg (modifying Brett's example)

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

Custom Intervals of Markers in Mathematica PlotMarkers

Of course Point can be replaced with any graphics object you want - eg Text, Inset etc...


Also remember you can use Tooltip to cause the marker coordinates to pop up when you pass the mouse pointer over it:

Custom Intervals of Markers in Mathematica PlotMarkers


The example of what I was describing in the comment. The markers don't behave properly.

Apparently I cannot post images yet, but running the following code

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

should give improper results. Also the number of data and plots in the same figure is quite large to individually select which points and I would like to keep the same Directives for different plots and data ranges as they tend to vary between 100 to around 300 in each case and I have to save them in different tables as they are used in other calculations along the way.

Plot Posted by belisarius, running the code above

Custom Intervals of Markers in Mathematica PlotMarkers

0

精彩评论

暂无评论...
验证码 换一张
取 消