Ваш базовый код правильный, и, возможно, это может помочь вам:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
df = pd.read_csv("births.csv")
birth_per_month = df.groupby(['year','month']).births.sum().reset_index(name ='Births')
df = pd.pivot_table(birth_per_month, index='year', columns='month', values='Births')
Отсюда мы можем начать с субплоттинга. Формат, в котором вы используете год и соответствующие данные, может превратиться в серию в Pandas, которая не поддерживает точечные графики. вместо этого попробуйте это:
fig, axarr = plt.subplots(5,2, figsize=(16,12))
axarr[0,0].scatter(df.columns,df.loc[1994])
axarr[0,0].set_title('1994')
axarr[0,1].scatter(df.columns,df.loc[1995])
axarr[0,1].set_title('1995')
axarr[1,0].scatter(df.columns,df.loc[1996])
axarr[1,0].set_title('1996')
axarr[1,1].scatter(df.columns,df.loc[1997])
axarr[1,1].set_title('1997')
#And so on
В итоге вы получите нечто похожее на это:
https://i.stack.imgur.com/4bvPx.png
Надеюсь, это поможет вам