我刚发现pyplot.scatter并且已经玩了一下。由于着色,我无法解释我的结果。例如,鉴于我的3(a,b)大小数据数组 dataX , dataY 和 dataMag :
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)中的低值设置为白色并使颜色逐渐增加到黑色或红色的最大颜色,或者无论我不在乎。有没有办法做到这一点?
提前致谢!
答案 0 :(得分:1)
我认为你正在寻找kwarg cmap
。
plt.scatter(...,cmap='hot')
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'的名称将为您提供相同的地图,颜色方向相反。
也可以定义自己的自定义颜色贴图