gpt4 book ai didi

python - 将颜色条添加到 3 变量颜色图表

转载 作者:太空宇宙 更新时间:2023-11-03 17:39:42 24 4
gpt4 key购买 nike

从另一篇文章中,我了解了如何创建图表,但正在努力添加比例尺。从颜色打印项目会给出 [ 0.53800422 0.67490159 0.99172189 1.] 我猜这是缩放后的颜色?

my_array = range(20)
my_array2 = my_array
z = np.array(my_array)
x = np.asarray(my_array)
scaled_x = (x - x.min()) / x.ptp()
scaled_z = (z - z.min()) / z.ptp()
colors = plt.cm.coolwarm(scaled_z)
graph = plt.scatter(my_array, my_array2, c = colors, cmap = colors )
cb = plt.colorbar(graph)
cb.set_label('mean value')
plt.show()

最佳答案

我认为您对 cmap 参数的含义有些困惑。它可以是颜色图对象(例如 plt.cm.coolwarm),也可以是颜色图名称(例如 "coolwarm")。

您正在尝试传递明确的颜色。 ([ 0.53800422 0.67490159 0.99172189 1.] 是颜色图将为您的特定数据点之一生成的红色、绿色、蓝色和 alpha 值。)

直接传入颜色图对象,而不是计算显式颜色。

例如,鉴于上面的示例代码,您可以将其重写为:

import numpy as np
import matplotlib.pyplot as plt

my_array = np.arange(20)
my_array2 = my_array
z = my_array

graph = plt.scatter(my_array, my_array2, c=z, cmap=plt.cm.coolwarm)
cb = plt.colorbar(graph)
cb.set_label('mean value')

plt.show()

enter image description here

如果您愿意,您还可以使用稍微不同的样式:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(20)
y, z = x, x

fig, ax = plt.subplots()
graph = ax.scatter(x, y, c=z, cmap='coolwarm', s=200)
cb = fig.colorbar(graph)

cb.set_label('Mean Value', rotation=-90, va='bottom')
ax.margins(0.1)

plt.show()

enter image description here

关于python - 将颜色条添加到 3 变量颜色图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30757869/

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