我想使用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做到这一点?
我有一个多索引数据框,其中索引是从日期推导出来的。它包括年份和季度值。
我想要实现的是一个在 x 轴上有两组刻度标签的图。次要刻度标签应表示季度值(1 到 4),主要刻度标签应表示年份值。但是,我不希望显示所有年份的刻度标签,只显示四个季度中每个季度的唯一年份。
这是我的数据集中的一个示例。
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) 我一直在努力使用 matlplotlib 在 python 中重新创建这个 Excel 图表:
数据位于数据框中;我正在尝试自动化生成该图的过程。
我尝试过拆开我的数据框、子图,但我还没有成功创建在 Excel 中如此优雅的“区域”索引。我已经成功地在没有这个“区域”索引的情况下绘制了图表,但这并不是我真正想要做的。
这是我的代码:
data = pd.DataFrame(
{
'Factory Zone':
["AMERICAS","APAC","APAC","APAC","APAC","APAC","EMEA","EMEA","EMEA","EMEA"],
'Factory Name':
["Chocolate Factory","Crayon Factory","Jobs Ur Us", "Gibberish US","Lil Grey", "Toys R Us","Food Inc.",
"Pet Shop", "Bonbon Factory","Carrefour"],
'Production Day 1':
[24,1,9,29,92,79,4,90,42,35],
'Production Day 2':
[2,43,17,5,31,89,44,49,34,84]
})
df = pd.DataFrame(data)
print(df)
# Without FactoryZone, it works:
df = df.drop(['Factory Zone'], axis=1)
image = df.plot(kind="bar")
Run Code Online (Sandbox Code Playgroud)
数据如下所示:
Unnamed: 0 FactoryZone Factory Name Production Day 1 Production Day 2
0 1 AMERICAS Chocolate Factory …Run Code Online (Sandbox Code Playgroud)