更改Matplotlib中某些标记的markerfacecolor

时间:2012-08-01 08:34:37

标签: matplotlib

我有一个显示圆圈标记的图表。我希望能够改变其中3个的颜色。我已尝试使用markerfacecolor的变量,如下所示,但这不起作用:

    angle = 0.0
    colorR = 'red'
    angleUpdate = 2 * numpy.pi / (len(v.T))
    for i in range(len(v.T)):
        x = numpy.sin(angle)
        y = numpy.cos(angle)
        angle += angleUpdate
        if i < 3:
            colorR = 'green'
        v[0, i] = x
        v[1, i] = y
    plt.plot(v[0], v[1], 'ko', markerfacecolor = colorR, markersize = 70, clip_on = False)
    plt.show()

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

在你的情节中'ko'表示放置一个黑色圆圈标记; k代表黑色。你应该试试:

plt.plot(v[0], v[1], 'o', markerfacecolor = 'red')

要获得其他符号和颜色的缩写,请尝试:

help(plt.plot)

您可以使用plotscatter来完成您的案例,具体取决于您的工作:

import pylab as plt
x=[1,2,3,4,5,6,7,8,9,10]
plt.plot(x[:5],x[:5],'o',c='r',markersize=10)
plt.plot(x[5:],x[5:],'o',c='b',markersize=10)
plt.show()

会生成, enter image description here

同样,您也可以使用

plt.scatter(x[:5],x[:5],c='r',s=100)
plt.scatter(x[5:],x[5:],c='b',s=100)