我正在制作包含x
和y
值的散点图,以及我用来定义点颜色的z
数组:
plt.scatter(x, y, c = z)
然而,max(z) ~ 110
,但mean(z) ~ 20
。因此,由于大多数z
值大约或低于,但最大值大约为100,大多数点看起来都是深蓝色,很难区分。
我尝试使用日志颜色栏,但由于我的z
范围几乎完全是10-100,所以几乎没有帮助:
有没有办法使用正常的色阶达到某个值?就像颜色条从{ - 1}}中的蓝色 - 红色开始,然后将上面的所有内容都变成红色?
答案 0 :(得分:1)
试试这个:
plt.scatter(x, y, c = z, vmin=10, vmax=40)
答案 1 :(得分:1)
您可以将matplotlib颜色栏上的extend
参数用作
plt.scatter(x, y, c = z, vmin=10, vmax=40)
plt.colorbar(extend="max")
有关详细示例,请检查this link。