gpt4 book ai didi

python - Matplotlib - 颜色作为已经规范化数据的第三个变量 - 不是灰度

转载 作者:太空宇宙 更新时间:2023-11-04 01:02:16 25 4
gpt4 key购买 nike

我搜索过这个但没能找到答案 - 如果您的数据已经规范化,您如何将颜色作为 matplotlib 中的第三个变量来实现?我的数据在 0-1 范围内,因此这会生成一个灰度图,但我想要一个从蓝色渐变到黄色,蓝色 = 1,某种绿色表示大约 0.5 的值,黄色表示值大约为 0。

我的代码目前是这样的:

    for line in lines:
if line:
x1.append(line.split()[0])
y1.append(line.split()[1])
z1.append(line.split()[4])
xv = np.array(x1)
yv = np.array(y1)
zv = np.array(z1)

plt.scatter(xv, yv, c=zv, cmap=?)

我已经尝试了各种变体,包括 no_norm 但我仍然能得到的最好的是灰度图......我不认为使用 vmin 和 vmax 是正确的,我也试过

    cmap = plt.cm.get_cmap('autumn')
plt.scatter(xv, yv, c=cmap(zv))

但这会产生错误:

     TypeError: Cannot cast array data from dtype('S11') to dtype('int64') according to the rule 'safe' 

非常感谢,安娜

最佳答案

看完@tcaswell的评论后,我找到了this page .这个解决方案似乎更优雅。您可以从页面中选择您想要的 cmap 并像这样使用它:

import matplotlib.pyplot as plt

xs = range(11)
ys = [0] * 11
colors = [ i * 0.1 for i in range(11) ]

plt.scatter(xs, ys, s=600, c = colors, cmap='YlGnBu')
plt.colorbar()
plt.show()

输出: enter image description here

关于python - Matplotlib - 颜色作为已经规范化数据的第三个变量 - 不是灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32301565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com