我有一个熊猫数据框,列为“ groupname”,“ result”和“ temperature”。我已经绘制了一个Seaborn形图,其中x ='groupname'和y ='result',其中显示了将结果数据分为几组。
我还想做的是使用颜色图根据标记的温度对标记进行着色,例如,最冷的是蓝色,最热的是红色。
以下是我正在处理的数据类型:
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
绘制图表非常简单:
import pandas as pd
import seaborn as sns
import matplotlib
import matplotlib.pyplot as plt
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')
答案 0 :(得分:1)
您好,您要查找的关键字是“调色板”
下面应该可以工作:
sns.stripplot(data=results, x="groupname", y="result", hue='temperature',palette="vlag")