Mathematica:ListPlot只有特殊点lableld&的pointsize

时间:2015-07-24 10:57:37

标签: wolfram-mathematica

我现在尝试了几个小时来获得以下类型的2D Listplot。 点的ListPlot数据应该具有与它们一起运行的时间(年)的“第三坐标”。 到目前为止,这只是一个例子:

list={{2000,{12,6}},{2001,{13,9}},{2002,{15,12}},{2003,{19,15}},{2004,{24,20}},{2004,{31,26}}};

data=Table[{list[[k]][[2]],Text[Style[list[[k]][[1]],12,Black],list[[k]][[2]],{-2,0}]},{k,1,Length[list]}]

plot1=ListPlot[data[[All,1]],
PlotStyle->{AbsolutePointSize[7],Orange},
PlotRange->{{0,40},{0,40}},
Frame->True,
ImageSize->500
];

plot2=Graphics[data[[All,2]]];

Show[plot1,plot2]

但是在我的真实数据中,我有数千个点,而且我只想说,每个标记有时间标记的第100个数据点,并且每个第100个点应该具有不同的PointSize和颜色。 到目前为止,我无法做到这一点。

1 个答案:

答案 0 :(得分:0)

我做了建议,并从数据中分离出“特殊”点。这是一种可能的解决方法。

fakedata=Table[{yrs,Flatten[{RandomInteger[40,1],RandomInteger[40,1]}]}, {yrs,2000,2100}];

data=Table[{fakedata[[k]][[2]],Text[Style[fakedata[[k]][[1]],12,Black],fakedata[[k]][[2]],{-2,0}]},{k,1,Length[fakedata]}];

plot1=ListPlot[data[[All,1]],
PlotStyle->{AbsolutePointSize[7],Blue},
PlotRange->{{-10,50},{-10,50}},
Frame->True,ImageSize->800
];

plot2=Graphics[data[[All,2]]];

Show[plot1,plot2]

但这标志着所有观点。所以我做了以下(有点难看,我知道......)

specialData=fakedata[[;;;;10]];

label=Table[{specialData[[k]][[2]],Text[Style[specialData[[k]][[1]],14,Red],specialData[[k]][[2]],{-1.5,0},Background->LightBlue]},{k,1,Length[specialData]}];

plot3=ListPlot[label[[All,1]],
PlotStyle->{AbsolutePointSize[7],Red},
PlotRange->{{-10,50},{-10,50}},
Frame->True,
ImageSize->800
];

plot4=Graphics[label[[All,2]]];

Show[plot1,plot3,plot4]