2012-08-01 49 views
2

我有一个显示圆圈中的标记的图。我想能够改变其中3个的颜色。我已经尝试使用一个变量为markerfacecolor如下,但不起作用:更改Matplotlib中某些标记的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

在您的地块'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) 
+0

标志是由一个大红色或绿色cirlce覆盖取决于我,如果条件。但是,我希望某些标记是红色的,有些在同一个图中是绿色的。你知道这可能吗?我想也许我会把数值放在一个数组中,看看情节是否可以迭代这些数值。 – wot 2012-08-01 11:02:25

+0

检查编辑。 – imsc 2012-08-01 12:03:27

+0

谢谢 - 看起来非常直截了当。所以我只用一个红色标记和一些绿色标记。会告诉你这件事的进展的。 – wot 2012-08-01 13:02:42