28  Múltiples gráficas con patrones complejos

En esta sesión, se explorará la herramienta GridSpec, la cual no solo nos permite crear gráficos complejos, sino que también nos otorga un control sin igual sobre la disposición y el tamaño de los subplots dentro de una figura. En conjunto, aprenderemos cómo esta herramienta puede mejorar nuestras composiciones gráficas, permitiéndonos diseñar visualizaciones que se adapten perfectamente a nuestras necesidades.

image.png
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
from dateutil.parser import parse
f = "../data/Cuernavaca_Enero_comas.csv"
cuerna = pd.read_csv(f,index_col=0,parse_dates=True)
cuerna.index
DatetimeIndex(['2012-01-01 00:00:00', '2012-01-01 01:00:00',
               '2012-01-01 02:00:00', '2012-01-01 03:00:00',
               '2012-01-01 04:00:00', '2012-01-01 05:00:00',
               '2012-01-01 06:00:00', '2012-01-01 07:00:00',
               '2012-01-01 08:00:00', '2012-01-01 09:00:00',
               ...
               '2012-01-31 14:00:00', '2012-01-31 15:00:00',
               '2012-01-31 16:00:00', '2012-01-31 17:00:00',
               '2012-01-31 18:00:00', '2012-01-31 19:00:00',
               '2012-01-31 20:00:00', '2012-01-31 21:00:00',
               '2012-01-31 22:00:00', '2012-01-31 23:00:00'],
              dtype='datetime64[ns]', name='tiempo', length=744, freq=None)
cuerna.columns
Index(['To', 'RH', 'P', 'Ws', 'Wd', 'Ig', 'Ib', 'Id'], dtype='object')
fig = plt.figure(figsize=(10,4))
gs = gridspec.GridSpec(2, 2)

ax1  = fig.add_subplot(gs[0,:])
ax2 = fig.add_subplot(gs[1,:1])
ax3 = fig.add_subplot(gs[1,1:])



ax1.plot(cuerna.To)

ax2.scatter(cuerna.To,cuerna.RH)

ax3.plot(cuerna.Ig)
ax3.plot(cuerna.Id)
ax3.plot(cuerna.Ib)
f1 = parse("2012-01-01")
f2 = f1 + pd.Timedelta("1D")
ax3.set_xlim(f1,f2)