Другой вариант, который может упростить ситуацию, - это использовать функцию построения панд. В зависимости от вашего варианта использования он имеет довольно хорошие значения по умолчанию, и вы все равно можете получить доступ ко всем основным настройкам mpl, если хотите внести изменения.
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
df = pd.DataFrame({'Year': [2014, 2015, 2016, 2017, 2018],
'revenue': [15756726, 25252733, 44613332.0, 66339804.0, 22763520.0],
'gross_income': [2396119, 3922431, 7214106, 11141780, 3974763],
'profit_before_tax': [868197, 1385783, 2005910, 28809313, 1042985],
'Expected_PBT': [np.NaN, 886000, 1388000, 2200000, 2603000]
}).set_index('Year')
fig = plt.figure(figsize=(10, 15))
ax1 = plt.subplot2grid((6, 7), loc=(0, 0), colspan=3, rowspan=2)
df['revenue'].plot(kind='bar', ax=ax1, legend=True, rot=0, title='Requested Plot')
ax2 = plt.subplot2grid((6, 7), loc=(0, 3), colspan=3, rowspan=2)
df.plot(kind='bar', ax=ax2, legend=True, rot=0, title='Additional Example')
plt.show()
