30 de enero de 2013

Cuadro de etiquetas

En una gráfica es de vital importancia especificar que significa cada una de las lineas que se pueden visualizar. Para esto, vamos a utilizar la función legend la cual nos permite agregar etiquetas a cada una de la lineas que se encuentran en una figura.

import matplotlib.pylab as plt
import numpy as np

x = np.arange(-5,5,0.1)

f1 = np.sin(x)
f2 = np.cos(x)

plt.plot(x,f1, label='seno')
plt.plot(x,f2, label='coseno')

plt.legend()
plt.grid()
plt.show()

Y obtendríamos una gráfica así:


Como podemos ver, en el cuadro se listan las lineas dibujadas con su respectivo color y forma (en el caso  en que hubiéramos puesto lineas punteadas). También observamos que el cuadro con las etiquetas se ubico en la parte superior derecha la cual es la posición por defecto pero como vemos en la siguiente gráfica no siempre es la mejor opción.

Por suerte, podemos elegir la posición en la que deseamos ubicar el cuadro de etiquetas si la posición por defecto no nos convence usando el argumento con palabra clave loc el cual puede tomar los siguientes valores ya sea en forma de cadena de texto o como entero:

Cadena Entero Ubicación
'best' 0 -----> Mejor posición
'upper right' 1 -----> Superior derecha
'upper left' 2 -----> Superior izquierda
'lower left' 3 -----> Inferior izquierda
'lower right' 4 -----> Inferior derecha
'right' 5 -----> Derecha (es la misma que la 7)
'center left' 6 -----> Centro izquierda
'center right' 7 -----> Centro derecha
'lower center' 8 -----> Inferior centro
'upper center' 9 -----> Superior centro
'center' 10 -----> Centro

Según la tabla anterior si queremos que el cuadro de etiquetas se ubique en la parte central superior podemos poner la función legend tanto así

plt.legend(loc='upper center')

Como así

plt.legend(loc=9)

Y obtendríamos el mismo resultado:


De manera alternativa podemos especificar las coordenadas especificas donde queramos que se ubique el cuadro usando una tupla con dos valores entre 0 y 1 de la siguiente manera:

plt.legend(loc=(0.5,0.5))

Como en un semiplano cartesiano, la coordenada (0,0) ubicaría el cuadro en la posición inferior derecha, la coordenada (1,0) lo pondría en la parte inferior derecha por fuera de la gráfica (notese como el referente de ubicación del cuadro es la esquina inferior izquierda del mismo) de lo cual podemos inferir que podemos utilizar coordenadas que se encuentren fuera del rango entre 0 y 1 pero no seria de mucha utilidad.
Gráfica con el cuadro de etiquetas ubicado en la coordenada (1,0)

No hay comentarios:

Publicar un comentario