Wolfram mathematica 打印多个数据集时在ListPlot中设置点颜色

Wolfram mathematica 打印多个数据集时在ListPlot中设置点颜色,wolfram-mathematica,Wolfram Mathematica,windows上的版本8.04 我注意到,当我有两个数据集并在其上使用ListPlot时,所显示的点不遵循PlotStyle设置在使用Joined->True时为线颜色本身指定的颜色 我只是想看看是不是我不理解这里PlotStyle的意思 以下是一个例子: data1 = {{1, 1}, {2, 1.5}, {3, 2}}; data2 = {{1, 1.5}, {2, 2.5}, {3, 3}}; ListPlot[{data1, data2}, PlotStyle -> {Red,

windows上的版本8.04

我注意到,当我有两个数据集并在其上使用
ListPlot
时,所显示的点不遵循
PlotStyle
设置在使用
Joined->True
时为线颜色本身指定的颜色

我只是想看看是不是我不理解这里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}]


谢谢

我想是
Mesh->All
把事情搞砸了。您可以指定
网格样式
,也可以将其关闭,然后设置
绘图标记->自动

ListPlot[{data1,data2},PlotStyle->{Red,Blue},Joined->True,
 PlotMarkers->Automatic,AxesOrigin->{0,0}]

要获得简单的彩色点,而不改变其形状,也不重复代码中线条的颜色,可以使用
绘图标记,如下所示:

ListPlot[{data1, data2}, PlotStyle -> {Red, Blue}, Joined -> True, 
 PlotMarkers -> Graphics@{Point[{0, 0}]}, AxesOrigin -> {0, 0}]

这不是答案,而是一种解释:网格有单独的样式。尝试将
MeshStyle->Green
添加到绘图中,看看会发生什么。我不知道如何使用依赖于数据系列的网格点样式。谢谢。我尝试了MeshStyle->{Red,Blue},但没有效果。请查看编辑(1)中的屏幕截图,这将是无用的。所有样式都已应用,因此最后指定的颜色“获胜”。除非您的绘图非常复杂,
PlotMarkers
是最佳选择。谢谢。这似乎是一个很好的解决办法。我使用了
Mesh->All
,因为它在帮助中的一个示例中被用作与
Joined->True
同时显示点和线的一种方式。从版本6开始,您可以使用
ListLinePlot
而不是
Joined
PlotJoined
@Mr Wizard
ListLinePlot
之间的区别是什么
ListPlot[data,Joined->True
?Eli,据我回忆,它们是等效的,但我发现
ListLinePlot
更干净,除非我打算来回切换。