gpt4 book ai didi

python - 具有计算颜色的 Hexbin 图

转载 作者:行者123 更新时间:2023-11-30 22:41:25 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

df = pd.DataFrame(
{"x" : [2,4,5,8,5,4,1,6,8,7],
"y" : [2,4,1,3,7,8,9,3,6,9],
"z" : ["A","B","B","A","B","A","A","B","B","A"]})

“x”“y”包含x和y坐标,而列“z”包含关联的标签。现在我想创建plt.hexbin使用 'jet' 颜色图进行绘图。箱的值和颜色不应由点的密度给出,而应反射(reflect)箱中标记为“B”的点的分数((计数“B”)/(计数“B”+计数“A” ))。

知道如何实现这一目标吗?

最佳答案

如果我正确理解你想要什么,你可以使用代表每个点的值的C参数。这些值将通过 reduce_C_function 给出的函数减少,默认为 np.mean。 (这也记录在 api 中。)当您为每个“B”分配 1,为每个“A”分配 0 时,您想要的每个 bin 的值正是所有值的平均值。所以这会给你想要的结果:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({"x": [2,4,5,8,5,4,1,6,8,7],
"y" : [2,4,1,3,7,8,9,3,6,9],
"z" : ["A","B","B","A","B","A","A","B","B","A"]})

plt.hexbin(df["x"], df["y"], C=df["z"]=="B", gridsize=4, cmap=plt.get_cmap("jet"))
plt.scatter(df["x"], df["y"], c=df["z"]=="B", cmap=plt.get_cmap("viridis"))
plt.show()

这里的散点图只是为了验证分箱是否正确。 “B”的颜色为黄色,“A”的颜色为紫色。结果如下: enter image description here

减少 gridsize=2 表明这也适用于每个 bin 多个点: enter image description here

关于python - 具有计算颜色的 Hexbin 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42573124/

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