我试图在Mathematica(ListLinePlot)中的同一个绘图中绘制多个列表,并使用PlotMarkers和PlotLegend包来获得最终数字。问题在于Mathematica为每个点添加了一个标记,这使得很难分辨哪个标记在图中的位置。是否有可能每n个样本出现一个绘图标记(例如,对于100点绘图,每10个点)。
目前的指令是PlotMarkers-> {Automatic,Small}。
答案 0 :(得分:4)
我认为添加像Mesh->10
之类的东西应该适合你:
data = Accumulate /@ RandomReal[{-1/2, 1}, {3, 100}];
ListLinePlot[data, PlotMarkers -> {Automatic, Small}, Mesh -> 10]
答案 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}]]
当然Point
可以替换为您想要的任何图形对象 - 例如Text
,Inset
等......
答案 2 :(得分:2)
另外请记住,当您将鼠标指针移到它上面时,可以使用Tooltip来弹出标记坐标:
答案 3 :(得分:1)
我在评论中描述的例子。标记表现不正常。
显然我还无法发布图片,但运行以下代码
data = Accumulate /@ RandomReal[{-1/2, 1}, {3, 100}];
ListLinePlot[data, PlotMarkers -> {Automatic, Small}, Mesh -> 5]
应该给出不正确的结果。此外,同一图中的数据和图表的数量非常大,可以单独选择哪些点,我希望针对不同的图和数据范围保持相同的指令,因为它们在每种情况下往往在100到300左右之间变化而且我有将它们保存在不同的表中,因为它们在沿途的其他计算中使用。
Plot由belisarius发布,运行上面的代码