基于第三列的熊猫数据框颜色的Seaborn散点图

时间:2019-07-13 16:00:29

标签: python dataframe matplotlib seaborn colormap

我有一个熊猫数据框,列为“ 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')

1 个答案:

答案 0 :(得分:1)

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

下面应该可以工作:

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