pyplot.scatter:如何从低到高设置点的颜色>?



我刚刚发现了pyplot。分散一下,我一直在玩它。由于颜色的关系,我很难解释我的结果。例如,给定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)中的低值设置为白色,并使颜色逐渐增加到黑色,红色或任何我不在乎的最大颜色,那将非常有帮助。有办法做到这一点吗?

提前感谢!

我想你是在找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",则会得到相同的地图,但颜色方向相反。

也可以定义自己的自定义颜色映射

最新更新