在Windows上的8.04版本。
我注意到当我有两个数据集并在它们上使用ListPlot
时,当使用Joined->True
时,显示的点不遵循由PlotStyle
设置的线条颜色本身的颜色。
我只是想看看这里的PlotStyle的含义是否有误解。
以下是一个示例:
data1 = {{1, 1}, {2, 1.5}, {3, 2}};
data2 = {{1, 1.5}, {2, 2.5}, {3, 3}};
ListPlot[{data1, data2}, PlotStyle -> {Red, Blue}, Joined -> False,
Mesh -> All, AxesOrigin -> {0, 0}]
请注意,根据 PlotStyle(先红色,然后蓝色)正确设置了点的颜色。
现在当我添加 Joined->True
时,看看会发生什么:
data1 = {{1, 1}, {2, 1.5}, {3, 2}};
data2 = {{1, 1.5}, {2, 2.5}, {3, 3}};
ListPlot[{data1, data2}, PlotStyle -> {Red, Blue}, Joined -> True,
Mesh -> All, AxesOrigin -> {0, 0}]
现在顶部蓝色线上的点已经变成了底部红色线的颜色!
这有意义吗?
一种克服这个问题的方法是通过显式添加PlotMarkers
来给点着色,就像这样:
data1 = {{1, 1}, {2, 1.5}, {3, 2}};
data2 = {{1, 1.5}, {2, 2.5}, {3, 3}};
ListPlot[{data1, data2}, PlotStyle -> {Red, Blue}, Joined -> True,
Mesh -> All, AxesOrigin -> {0, 0},
PlotMarkers -> {{Graphics[{Red, Point[{0, 0}]}],
12}, {Graphics[{Blue, Point[{0, 0}]}], 12}}]
问题:为什么顶部行中的点会变成红色(如上面的第二个图)?是否有比我上面所做的更简单的解决方案?
编辑(1)
尝试使用`MeshStyle -> {Red, Blue}`似乎也会混淆事情:
data1 = {{1, 1}, {2, 1.5}, {3, 2}};
data2 = {{1, 1.5}, {2, 2.5}, {3, 3}};
ListPlot[{data1, data2}, PlotStyle -> {Red, Blue}, Joined -> True,
AxesOrigin -> {0, 0}, Mesh -> All, MeshStyle -> {Red, Blue}]
谢谢
MeshStyle -> Green
,看看会发生什么。我不知道如何使用数据系列相关的网格点样式。 - kkmPlotMarkers
是正确的选择。 - kkm