saltymisty73
saltymisty73

Reputation: 39

Multi-indexing plotting with Matplotlib

I am trying to graph multi indexing plot using matplotlib. However, I was struggling to find the exact code from the previously answered code. Can anyone assist me how can I produce similar graph.

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)

It is not indexing as I wanted and not produced the graph as expected as well. Help appreciated.

Upvotes: 0

Views: 954

Answers (1)

Uğur Güney
Uğur Güney

Reputation: 174

I created a DataFrame from some of the values I see on your attached plot and plotted it.

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')

This is the outcome

enter image description here

where the DataFrame is this

enter image description here

Upvotes: 1

Related Questions