是否有可能以像素格式“,”生成一个散点的.plot,其颜色为十六进制值?

时间:2015-08-20 08:26:42

标签: python matplotlib

我正在尝试绘制像素形状的散列点列表,格式为“,”我希望它们具有以十六进制格式化的特定颜色,例如“#AAAAAA”。

当我尝试对像素使用“,”和“#AAAAAA”使用.plot函数的十六进制颜色时,会出现错误:“无法识别的字符”

所以似乎不可能同时使用这两个功能......这不起作用:

plt.plot(xpointslist,ypointslist,"#AAAAAA,")
plt.show()
但是,例如,如果不是散点,我删除“,”像素格式,然后每两个点之间有一条线,没有问题。下面这个例子有效,但是每个散乱的点用一条线链接到列表中的下一个,最后的图片完全没用:

plt.plot(xpointslist,ypointslist,"#AAAAAA")
plt.show()

现在我正在使用以下代码,这是典型的代码并且有效:

plt.plot(xpointslist,ypointslist,"r,")
plt.show()

我想使用十六进制颜色的原因是因为我正在绘制不同的散点列表,并且每个列表都有不同的颜色,但每个列表的颜色必须遵循渐变,所以看到图形时的最终效果说得通。例如,我有五个不同的点列表,我想做如下:

plt.plot(xpointslist1,ypointslist1,"#AAAAAA,")
plt.plot(xpointslist2,ypointslist2,"#999999,")
plt.plot(xpointslist3,ypointslist3,"#888888,")
plt.plot(xpointslist4,ypointslist4,"#777777,")
plt.plot(xpointslist5,ypointslist5,"#666666,")
plt.show()

现在我不能那样做,所以我在没有渐变的情况下做同样的事情,就像这样:

plt.plot(xpointslist1,ypointslist1,"r,")
plt.plot(xpointslist2,ypointslist2,"b,")
plt.plot(xpointslist3,ypointslist3,"g,")
plt.plot(xpointslist4,ypointslist4,"m,")
plt.plot(xpointslist5,ypointslist5,"y,")
plt.show()
  

所以问题是,是否有可能用“十六进制”#XXXXXX“值的颜色制作像素格式的”散点“.plot?

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,您只需要使用color关键字。

使用"r,"只是color="red", marker=",", linestyle="None"的简写,因此您可以在此处将其展开:

plt.plot(xpointslist,ypointslist,color="#AAAAAA",marker=",",linestyle="None")

或者,您可以使用简写(没有关键字)",",然后自己设置color

plt.plot(xpointslist,ypointslist,",",color="#AAAAAA")

此外,color关键字也可以缩写为c(感谢@Henrik):

plt.plot(xpointslist,ypointslist,",",c="#AAAAAA")

有关所有可用选项,请参阅pyplot.plot()

的文档