【问题标题】:Creating subplots using matplotlib using ordered data使用 matplotlib 使用有序数据创建子图
【发布时间】:2021-02-22 16:16:54
【问题描述】:

我有一个看起来像的数据框

d = {'First': ['A','A','A','B','B','C'], 
      'Second': ['B', 'C', 'B', 'B', 'B', 'A']
df = pd.DataFrame(data = d)

我希望能够为 First 中的每个值创建条形图,最好使用子图,以显示第二个值的数量。我尝试过使用df.groupby('First')['Second'].agg('value_counts').plot(kind = 'bar, subplots = True),但这只会产生一个图表。如果可能的话,我还想让图表展示组的百分比或按字母顺序排列。

【问题讨论】:

    标签: python pandas matplotlib subplot


    【解决方案1】:

    试试这个:

    df.groupby('First')['Second']\
      .agg('value_counts')\
      .unstack('First')\
      .plot.bar(subplots=True, figsize=(10,8))
    

    输出:

    关键是取消堆叠您希望子图表示的列。数据框中的每一列都应生成一个子图。

    【讨论】:

    • 感谢您告知我取消堆叠选项。
    • @Panic_Picnic 不客气。快乐编码。保持安全并保持健康。
    猜你喜欢
    • 2017-08-26
    • 2017-10-20
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    相关资源
    最近更新 更多