Python:matplotlib - 黑白分散

时间:2012-05-17 00:44:37

标签: python matplotlib

我觉得我在这里遗漏了一些非常明显的东西,但是我无法在pylab中得到散点图以黑白打印。任何和所有的帮助将不胜感激。这是我的代码:

from pylab import *
from random import random
ioff()

r = range(10)
x = [3 + i + random() for i in r]
y = [50*i + random() for i in r]
x2 = [5 + i + random() for i in r]
y2 = [5*i + random() for i in r]

scatter(x,y, marker = 'o', hold = True, label = 'collected underwear',cmap=cm.Greys)
scatter(x2,y2, marker = 's', hold = True, label = 'Profit!',cmap=cm.Greys)
legend(loc='upper left')

show()

谢谢,

亚当

2 个答案:

答案 0 :(得分:4)

如果您只想任意指定颜色,请执行

color="k"

表示黑色,然后执行

color="0.x"

对于灰度,x可以是任意数字,只要0.x介于0和1之间。

但是如果您希望标记颜色由另一个数组z确定,请执行

scatter(x,y,c=z, cmap=cm.Greys)

所以

from pylab import *
from random import random
r = range(10)
x = [3 + i + random() for i in r]
y = [50*i + random() for i in r]
x2 = [5 + i + random() for i in r]
y2 = [5*i + random() for i in r]
z2 = [i + random() for i in r]
scatter(x,y,   c="0.1", marker = 'o', hold = True, label = 'collected underwear')
scatter(x2,y2, c=z2,marker = 's',  hold = True, label = 'Profit!',cmap=cm.Greys)
legend(loc='upper left')
show()

你会有

enter image description here

答案 1 :(得分:3)

如果您只希望曲线为黑色,只需添加:

color='k'

到每个散点线,它们将是黑色的。不需要cmap。

修改

如果你想要灰度,你总是可以使用colortuples:

color = (0.1,0.1,0.1,1) #(r,g,b,a)

我不知道你是否可以直接使用cm :.