df = pd.read_csv('User/jingchangnan/data/layout_ex1.csv')
df[['Year','Month']] = [*df['Time'].apply(lambda x:x.split('-'))]
df['Month'] = df['Month'].apply(lambda x:int(x))
fig, axs = plt.subplots(2, 5, figsize=(12, 4), sharex=True, sharey=True)
fig.suptitle('墨尔本1981年至1990年月温度曲线', size=15)
axs, gb = axs.flatten() , df.groupby('Year')
for i,year in enumerate(gb.groups.keys()):
group = gb.get_group(year)
axs[i].plot(group.Month, group.Temperature, marker='*')
axs[i].set_title(f'{year}年')
if i//5: axs[i].set_xlabel('Month'), axs[i].set_xticks(group.Month)
if not i%5: axs[i].set_ylabel('Temperature')
fig.tight_layout()
np.random.seed(123)
x,y = np.random.randn(1,200)
fig = plt.figure(figsize=(7,6))
s = fig.add_gridspec(nrows=2, ncols=2, width_ratios=[5,1], height_ratios=[1,5])
ax = fig.add_subplot(s[0,0])
ax.hist(x, rwidth=0.9, density=True)
ax = fig.add_subplot(s[1,0])
ax.scatter(x,y)
ax.grid()
x = fig.add_subplot(spec[1,1])
ax.hist(y, orientation='horizontal', rwidth=0.9, density=True)
ax.axis('off')
fig.tight_layout()