26  Personaliza tus figuras

En esta sesión, nos veremos la creación de gráficas con múltiples elementos y totalmente adaptadas a nuestras necesidades.

Aprenderemos a cambiar el tamaño predeterminado de las gráficas, a jugar con los estilos de las líneas y a añadir leyendas a los ejes y etiquetas a las gráficas para mejorar la claridad y la comprensión.

También exploraremos cómo utilizar LaTeX para garantizar que nuestros símbolos y fórmulas sean perfectos en cada representación visual.

image.png
import pandas as pd
import matplotlib.pyplot as plt
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)
fig, ax = plt.subplots()

ax.plot(cuerna.Ig)
ax.plot(cuerna.Ib)
ax.plot(cuerna.Id)

fig, ax = plt.subplots()

f1 = parse("2012-01-10")
f2 = f1 + pd.Timedelta("1d")

ax.plot(cuerna.Ig)
ax.plot(cuerna.Ib)
ax.plot(cuerna.Id)

ax.set_xlim(f1,f2)

fig, ax = plt.subplots()

f1 = parse("2012-01-10")
f2 = f1 + pd.Timedelta("1d")

ax.plot(cuerna.Ig,label="Ig")
ax.plot(cuerna.Ib,label="Ib")
ax.plot(cuerna.Id,label="Id")

ax.legend()
ax.set_xlim(f1,f2)

fig, ax = plt.subplots(figsize=(10,4))

f1 = parse("2012-01-10")
f2 = f1 + pd.Timedelta("1d")

ax.plot(cuerna.Ig,label="Ig")
ax.plot(cuerna.Ib,label="Ib")
ax.plot(cuerna.Id,label="Id")

ax.legend()
ax.set_xlim(f1,f2)

fig, ax = plt.subplots(figsize=(10,4))

f1 = parse("2012-01-10")
f2 = f1 + pd.Timedelta("1d")

ax.plot(cuerna.Ig,label="Ig")
ax.plot(cuerna.Ib,label="Ib")
ax.plot(cuerna.Id,label="Id")

ax.legend()
ax.grid()
ax.set_xlim(f1,f2)

fig, ax = plt.subplots(figsize=(10,4))

f1 = parse("2012-01-10")
f2 = f1 + pd.Timedelta("1d")

ax.plot(cuerna.Ig,label="Ig")
ax.plot(cuerna.Ib,label="Ib")
ax.plot(cuerna.Id,label="Id")

ax.legend()
ax.grid()
ax.set_xlim(f1,f2)
ax.set_ylabel("Irradiancia [$W/m^2$]")
ax.set_xlabel("Tiempo [mm-dd HH]")
ax.set_title("Irradiancia en Cuernavaca")
Text(0.5, 1.0, 'Irradiancia en Cuernavaca')

fig, ax = plt.subplots(figsize=(10,4))

f1 = parse("2012-01-10")
f2 = f1 + pd.Timedelta("1d")

ax.plot(cuerna.Ig,"r-", label="Ig")
ax.plot(cuerna.Ib,"k--",label="Ib")
ax.plot(cuerna.Id,"bo-",label="Id")

ax.legend()
ax.grid()
ax.set_xlim(f1,f2)
ax.set_ylabel("Irradiancia [$W/m^2$]")
ax.set_xlabel("Tiempo [mm-dd HH]")
ax.set_title("Irradiancia en Cuernavaca")
Text(0.5, 1.0, 'Irradiancia en Cuernavaca')