使用Matplotlib进行多索引绘图

时间:2016-08-04 18:26:18

标签: python pandas matplotlib bar-chart

我正在尝试使用matplotlib绘制多索引图。但是,我很难找到以前回答的代码中的确切代码。任何人都可以帮助我如何制作类似的图表。

enter image description here

import pandas as pd
import matplotlib.pyplot as plt
import pylab as pl 
import numpy as np
import pandas 

xls_filename = "abc.xlsx"
f = pandas.ExcelFile(xls_filename)
df = f.parse("Sheet1", index_col='Year' and 'Month')
f.close()

matplotlib.rcParams.update({'font.size': 18})  # Font size of x and y-axis
df.plot(kind= 'bar', alpha=0.70)

它不是我想要的索引,也没有按预期生成图表。帮助赞赏。

1 个答案:

答案 0 :(得分:1)

我根据附加图上看到的一些值创建了一个DataFrame并绘制了它。

index = pd.MultiIndex.from_tuples(tuples=[(2011, ), (2012, ), (2016, 'M'), (2016, 'J')], names=['year', 'month'])
df = pd.DataFrame(index=index, data={'1': [10, 140, 6, 9], '2': [23, 31, 4, 5], '3': [33, 23, 1, 1]})
df.plot(kind='bar')

这是结果

enter image description here

DataFrame就是这个

enter image description here