3

我觉得我在这里遗漏了一些非常明显的东西,但是我无法在 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()

谢谢,

亚当

4

2 回答 2

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()

你将会有

在此处输入图像描述

于 2012-05-17T01:54:30.133 回答
3

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

color='k'

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

编辑:

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

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

不知道能不能直接用cm:s。

于 2012-05-17T00:52:11.460 回答