Mejoras visuales en Matplotlib

marzo 29, 2015

Matplotlib es una librería de graficación open source de Python, similar a la librería de graficación de MATLAB, que permite manipular la mayoría de los componentes de sus gráficas. Acá mostraremos la forma de modificar algunos de estos componentes como ejes, ticks, grid, labels, etc con la intención de generar gráficas mas agradables.

In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np

Mejoras en la gráfica de una función

Se grafica la función $f(x) = x^2 + 3x - 1$ para $0 <= x <= 10$

In [2]:
# Datos de ejemplo
x = np.linspace(0, 10)
y = x**2 + 3*x - 1

# Se eliminan marcas en los ejes (ticks)
plt.tick_params(width=0) 

# Se agrega malla (grid)
plt.grid(linestyle='-', color='#808080', alpha=0.3) 

# Se eliminan ejes superior y derecho
ax = plt.gca()
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)

# Nombres de los ejes:
# Si se agregan en signo pesos ($) permite interpretar lenguaje latex
plt.xlabel('$x$')
plt.ylabel('$f(x)$')

# Matplotlib agrega por defecto una margen entre la curva generada y los ejes
# Se elimina la margen
plt.margins(0)

plt.plot(x, y, label='$x^2 + 3x - 1$')

# Se agrega legenda usando la mejor locación ('best') para que no se 
# cruce con la curva generada
plt.legend(loc='best')

plt.show()

Estilo ggplot

Matplotlib permite usar un estilo que imita el paquete de graficación ggplot del lenguaje R. Para esto basta con agregar al inicio del script la siguiente línea:

In [3]:
plt.style.use('ggplot')

Toda gráfica posterior a esta línea tendrá el estilo de ggplot

In [4]:
plt.plot(x, y)
plt.show()

You Might Also Like

0 comments

Apoyado por: