Mathematica PlotMarkers中标记的自定义间隔

时间:2011-01-25 01:13:25

标签: wolfram-mathematica plot markers

我试图在Mathematica(ListLinePlot)中的同一个绘图中绘制多个列表,并使用PlotMarkers和PlotLegend包来获得最终数字。问题在于Mathematica为每个点添加了一个标记,这使得很难分辨哪个标记在图中的位置。是否有可能每n个样本出现一个绘图标记(例如,对于100点绘图,每10个点)。

目前的指令是PlotMarkers-> {Automatic,Small}。

4 个答案:

答案 0 :(得分:4)

我认为添加像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

答案 1 :(得分:3)

如果您希望更多地控制绘图标记的位置而不是Brett's answer给您,那么您可能需要手动放置标记。例如(修改Brett的例子)

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可以替换为您想要的任何图形对象 - 例如TextInset等......

答案 2 :(得分:2)

另外请记住,当您将鼠标指针移到它上面时,可以使用Tooltip来弹出标记坐标:

enter image description here

答案 3 :(得分:1)

我在评论中描述的例子。标记表现不正常。

显然我还无法发布图片,但运行以下代码

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

应该给出不正确的结果。此外,同一图中的数据和图表的数量非常大,可以单独选择哪些点,我希望针对不同的图和数据范围保持相同的指令,因为它们在每种情况下往往在100到300左右之间变化而且我有将它们保存在不同的表中,因为它们在沿途的其他计算中使用。

Plot由belisarius发布,运行上面的代码

enter image description here