颜色编码matplotlib标记

时间:2013-04-10 13:40:45

标签: python colors matplotlib

我正在尝试对我的情节标记进行颜色编码。

这个想法是有x,y和z值 - 包含坐标的x和y,z包含对应于0到150之间每个坐标(即x,y对)的数字。

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

我想要的是根据z值改变颜色,例如

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

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

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:2)

将这些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示例中显示的每个组分配自定义标记。