如何将 pandas 系列转换为 seaborn 条形图

Posted

技术标签:

【中文标题】如何将 pandas 系列转换为 seaborn 条形图【英文标题】:How to turn a pandas Series to a seaborn bar chart 【发布时间】:2019-09-20 06:44:21 【问题描述】:

我有一个根据调查问题的答案创建的 Pandas 系列。例如

Age      q1       
10+      No           16
         No Answer     1
         Yes           8
5-7      No           20
         No Answer     1
         Yes          22
7-9      No           18
         No Answer     1
         Yes          16
Under 5  No           11

现在我想为此创建一个 seaborn 条形图。在条形图中,我希望“年龄”为 x 轴,每个年龄桶应该以不同的颜色显示每个答案的计数,如下所示。

seaborn bar chart

【问题讨论】:

df.unstack().plot(kind='bar') 【参考方案1】:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

sns.set(style="white", context="talk")

d1 =['Age','q1','q2']  #have taken count as q2
data= [
        ['10+','No',16],
        ['10+','No Answer',1],
        ['10+','Yes',8],
        ['5-7','No',20],
        ['5-7','No Answer',1],
        ['5-7','Yes',22],
        ['7-9','No',18],
        ['7-9','No Answer',1],
        ['7-9','Yes',16],
        ['Under5','No',11,]
       ]

df =pd.DataFrame(data,columns=d1)

sns.catplot(x="Age", y="q2", hue="q1", data=df,
                height=6, kind="bar", palette="muted")

plt.show()

【讨论】:

以上是关于如何将 pandas 系列转换为 seaborn 条形图的主要内容,如果未能解决你的问题,请参考以下文章

如何将范围字符串(箱)转换为可用于 Seaborn 可视化的数值

使用 seaborn 绘图时转换 pandas 列中的数据类型

如何将一系列数组转换为 pandas/numpy 中的单个矩阵?

如何将 Pandas 系列中的多个字典键转换为 DataFrame 中的列?

如何将可变长度列表的 Pandas DataFrame 列(或系列)转换为固定宽度的 DataFrame [重复]

使用带有secondary_y的Seaborn + Pandas绘图时如何摆脱网格线