1

我刚刚发现了pyplot.scatter并且一直在玩它。由于着色,我无法解释我的结果。例如,给定我的 3 (a,b) 大小的数据数组dataXdataYdataMag

import pyplot as plt
import numpy as np

plt.scatter(x=dataX.flat, y=dataY.flat, vmin=np.min(dataMag),
            vmax=np.max(dataMag), c=dataMag.flat, lw=1, s=1)
plt.show()

如果有办法将dataMag中的低值(即 0)设置为白色,并让颜色逐渐增加到黑色、红色或任何我不关心的颜色的最大颜色,那将非常有帮助。有没有办法做到这一点?

提前致谢!

4

1 回答 1

1

我想你在找kwarg cmap

 plt.scatter(...,cmap='hot')

取自scipy 食谱

from pylab import *
from numpy import outer
rc('text', usetex=False)
a=outer(arange(0,1,0.01),ones(10))
figure(figsize=(10,5))
subplots_adjust(top=0.8,bottom=0.05,left=0.01,right=0.99)
maps=[m for m in cm.datad if not m.endswith("_r") ]
maps.sort()
l=len(maps)+1
for i, m in enumerate(maps):
    subplot(1,l,i+1)
    axis("off")
    imshow(a,aspect='auto',cmap=get_cmap(m),origin="lower")
    title(m,rotation=90,fontsize=10)

很好地生成一个带有您安装可用的所有颜色图的图形。最后加上“_r”的名称将为您提供相同的地图,颜色方向相反。

也可以定义自己的自定义颜色图

于 2013-01-03T20:32:21.873 回答