Используя мой метод, я создал два новых столбца для подсчета продаж и покупок, а затем сгруппировал их по времени и типу. Затем я создал сюжет.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df1=df.copy()
df1['Type_Count_Sell'] = np.where(df1['Type'] == 'sell', 1, 0)
df1['Type_Count_Buy'] = np.where(df1['Type'] == 'buy', 1, 0)
df1=df1.groupby(['Time', 'Type']).sum().reset_index()
#df1=df1.loc[df1.Time != '...']
df1['Time']=df1['Time'].astype(int)
ax = plt.subplot(111)
ax.set_title('Buys an dSells Count')
ax.set_xlabel('Hour')
ax.set_ylabel('Count of Type')
ax.bar(df1['Time'], df1['Type_Count_Sell'], width=1, color='b', align='center')
ax.bar(df1['Time']+1, df1['Type_Count_Buy'], width=1, color='g', align='center')
plt.show()