具有分类和数值数据的熊猫条形图

时间:2018-08-07 08:45:58

标签: python pandas dataframe

我有一个名为“ data”的熊猫数据框,其数据类似于下表。我想将它们在python中绘制为条形图。

Name    X   Y   Z   Activity
AAA1    0.0 0.0 2.0 Low
AAA2    0.0 2.0 6.0 Medium
AAA3    1.0 2.0 3.0 High
AAA4    2.0 1.0 4.0 High

我尝试的是设置颜色和样式,

sns.set(style="white", context="talk", palette="husl")
data.plot.bar(x='Name', width=.8)

虽然它绘制了一个显示每个名称的X,Y和Z的条形图(总共9个条形),但我无法找出一种方法来显示与该条形图中每个“名称”相对应的“活动”。如果能以某种方式通过颜色或某种样式在条形图的顶部以图形方式显示此分类列,那将是很好的。我正在使用Python 3.7.0 熊猫0.23.3 matplotlib 2.2.2和 seaborn版本0.9.0。

1 个答案:

答案 0 :(得分:1)

我不知道此解决方案是否适合您,但首先我按 Activity Name 对数据进行分组,然后绘制条形图。示例(我得到了您的DataFrame):

import matplotlib.pyplot as plt

df.groupby(['Activity','Name']).sum().plot(kind='bar')

结果 Barplot