相关疑难解决方法(0)

如何在matplotlib中为条形图添加组标签?

我想使用matplotlib的条形图功能绘制以下形式的数据:

data = {'Room A':
           {'Shelf 1':
               {'Milk': 10,
                'Water': 20},
            'Shelf 2':
               {'Sugar': 5,
                'Honey': 6}
           },
        'Room B':
           {'Shelf 1':
               {'Wheat': 4,
                'Corn': 7},
            'Shelf 2':
               {'Chicken': 2,
                'Cow': 1}
           }
       }
Run Code Online (Sandbox Code Playgroud)

条形图应该看起来像这样.应从x轴上的标签可见条形图组.有没有办法用matplotlib做到这一点?

python matplotlib bar-chart

28
推荐指数
2
解决办法
8414
查看次数

在 Pandas 多索引数据帧上绘制两个级别的 x_ticklabels

我有一个多索引数据框,其中索引是从日期推导出来的。它包括年份和季度值。

我想要实现的是一个在 x 轴上有两组刻度标签的图。次要刻度标签应表示季度值(1 到 4),主要刻度标签应表示年份值。但是,我不希望显示所有年份的刻度标签,只显示四个季度中每个季度的唯一年份。

这很容易在 excel 图中表示,这是我试图重现的示例。 在此处输入图片说明

这是我的数据集中的一个示例。

serotype_df = pd.DataFrame({'13v': {(2002, 1): 5,
  (2002, 2): 9,
  (2002, 3): 23,
  (2002, 4): 11,
  (2003, 1): 1,
  (2003, 2): 12,
  (2003, 3): 22,
  (2003, 4): 15,
  (2004, 1): 10,
  (2004, 2): 11,
  (2004, 3): 30,
  (2004, 4): 11,
  (2005, 1): 9,
  (2005, 2): 20,
  (2005, 3): 20,
  (2005, 4): 7},
 '23v': {(2002, 1): 1,
  (2002, 2): 8,
  (2002, 3): 18,
  (2002, 4): 5,
  (2003, 1): 5,
  (2003, 2): 16, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib python-3.x pandas

11
推荐指数
1
解决办法
5817
查看次数

使用Pandas MultiIndex在matplotlib条形图中对标签进行分组

我有一个带有MultiIndex的pandas DataFrame:

group   subgroup    obs_1    obs_2
GroupA  Elem1       4        0
        Elem2       34       2
        Elem3       0        10
GroupB  Elem4       5        21
Run Code Online (Sandbox Code Playgroud)

等等.正如在这个SO问题中所指出的,实际上在matplotlib中是可行的,但我宁愿(如果可能的话)使用我已经知道层次结构的事实(感谢MultiIndex).目前正在发生的是索引显示为元组.

这样的事情可能吗?

python matplotlib pandas

4
推荐指数
1
解决办法
2603
查看次数

标签 统计

matplotlib ×3

python ×3

pandas ×2

bar-chart ×1

python-3.x ×1