gpt4 book ai didi

python - 基于第三列的 pandas 数据框颜色的 Seaborn 散点图

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

我有一个 pandas 数据框,其中包含“groupname”、“result”和“temperature”列。我绘制了一个 Seaborn swarmplot,其中 x='groupname' 和 y='result',它显示了分成组的结果数据。

我还想做的是根据标记的温度使用颜色图为标记着色,例如,最冷的是蓝色, HitTest 的是红色。

绘制图表非常简单:

import pandas as pd
import seaborn as sns
import matplotlib
import matplotlib.pyplot as plt

data = {'groupname': ['G0', 'G0', 'G0', 'G0', 'G1', 'G1', 'G1'], 'shot': [1, 2, 3, 4, 1, 2, 3], 'temperature': [20, 25, 35, 10, -20, -17, -6], 'result': [10.0, 10.1, 10.5, 15.0, 15.1, 13.5, 10.5]}
df = pd.DataFrame(data)

groupname shot temperature result
0 G0 1 20 10.0
1 G0 2 25 10.1
2 G0 3 35 10.5
3 G0 4 10 15.0
4 G1 1 -20 15.1
5 G1 2 -17 13.5
6 G1 3 -6 10.5

plt.figure()
sns.stripplot(data=results, x="groupname", y="result")
plt.show()

但现在我无法尝试为这些点着色,我尝试了一些方法,例如:

sns.stripplot(data=results, x="groupname", y="result", cmap=matplotlib.cm.get_cmap('Spectral'))

这似乎没有做任何事情。

还试过:

sns.stripplot(data=results, x="groupname", y="result", hue='temperature')

它确实根据温度为点着色,但是颜色是随机的而不是映射的。

我觉得可能有一种非常简单的方法可以做到这一点,但还没有找到任何示例。

理想情况下寻找类似的东西:

sns.stripplot(data=results, x="groupname", y="result", colorscale='temperature')

最佳答案

您好,您要查找的关键字是“调色板”

下面应该可以工作:

sns.stripplot(data=results, x="groupname", y="result", hue='temperature',palette="vlag")

http://man.hubwiz.com/docset/Seaborn.docset/Contents/Resources/Documents/generated/seaborn.stripplot.html

关于python - 基于第三列的 pandas 数据框颜色的 Seaborn 散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57020728/

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