颜色编码matplotlib标记

问题描述:

我试图颜色编码我的情节的标记。颜色编码matplotlib标记

的想法是,有X,Y和z值 - x和含有y坐标,将含有0 150

之间并对应于每一个坐标(即,X,Y对)一个数z

现在,我需要为每个坐标绘制一个正方形,我使用pyplot.plot(x,y, ls='s')完成了这个坐标,我可以分别设置标记边缘和面部颜色。通常,所有这些正方形都具有相同的颜色。

什么我想是根据Z值来改变颜色,例如

Z = 0-30:黑色,30-60:蓝色,60-90:绿色,90-120:黄色,120-150:红色

我尝试将数据装箱到这些箱,但我不知道如何将其映射到颜色并相应地绘制它。

有什么建议吗?谢谢!

+1

可能的重复http://*.com/q/15554939/932593 – 2013-04-10 13:42:24

+0

谢谢,看起来很有希望,我会检查它! – frixhax 2013-04-10 20:40:52

+0

这将是类似的(除了我不想绘制图像),但如下面的注释中所述,我得到错误,其中c =颜色和颜色是我的z值列表,c必须是二维的。在我发现的所有例子中,情况并非如此。 – frixhax 2013-04-11 11:23:10

将这些X,Y坐标存储在单独的X,Y(每个Z范围1对)中,然后用多条绘图线将它们全部绘制出来。

概念例如:

X1,Y1 = """store your Z0-30 here""" 
X2,Y2 = """store your z30-60 here""" 
X3,Y3 = """store your z60-z90 here""" 
X4,Y4 = """store your z90-120 here""" 
X5,Y5 = """store your z120-150 here""" 
fig=plt.figure() 
pyplot.plot(X1,Y1,color='black') 
pyplot.plot(X2,Y2,color='blue') 
pyplot.plot(X3,Y3,color='green') 
pyplot.plot(X4,Y4,color='yellow') 
pyplot.plot(X5,Y5,color='red') 
plt.show() 

我会建议使用scatter情节,这听起来很适合你的描述。在这种情况下,将pyplot.plot更改为pyplot.scatter。您可以使用cmap以Z轴为它们着色。您还可以为每个组分配自定义标记,如this示例中所示。

+0

谢谢,但这正是我不想做的事情 - 手动分配给垃圾箱,然后再分配给颜色。 – frixhax 2013-04-10 20:40:28

+0

然后按照我的建议使用散点图 – 2013-04-11 07:37:01

+0

散射问题是,我无法更改方形标记的边缘厚度,只能改变大小。我需要一个特定的方形大小和形状(理想情况下以轴单位定义,但似乎没有简单的方法来做到这一点)。 – frixhax 2013-04-11 09:44:17