8.4.3 Primeros pasos
Vamos a empezar por representar la función f (x) = sin(x). Para ello crearemos una variable x con valores flotantes equidistantes y una variable y aplicando la función senoidal. Nos apoyamos en numpy para ello. A continuación usaremos la función plot() del marco para representar la función creada:
Múltiples funciones
Partiendo de un mismo marco, es posible graficar todas las funciones que necesitemos. A continuación crearemos un marco con las funciones seno y coseno:
Leyenda
En el caso de que tengamos múltiples gráficos en el mismo marco puede ser deseable mostrar una leyenda identificativa. Para usarla necesitamos asignar etiquetas a cada función. Veamos a continuación cómo incorporar una leyenda:
Es posible incorporar sintaxis Latex en los distintos elementos textuales de matplotlib. En el siguiente ejemplo usaremos esta notación en las etiquetas de las funciones utilizando el símbolo $ … $ para ello:
Ubicación de la leyenda
Matplotlib intenta encontrar la mejor ubicación para la leyenda en el marco. Sin embargo, también es posible personalizar el lugar en el que queremos colocarla.
Si nos interesa situar la leyenda en la parte superior central del marco haríamos lo siguiente:
Aplicando estilos
Para cada función que incluimos en el marco es posible establecer un estilo personalizado con multitud de parámetros. Veamos la aplicación de algunos de estos parámetros a las funciones seno y coseno con las que hemos estado trabajando:
Acotando ejes
Hay veces que nos interesa definir los límites de los ejes. En ese caso, podemos hacerlo de una manera muy sencilla:
Truco: También es posible especificar únicamente limite inferior o superior en ambas funciones set_xlim() y set_ylim(). En ese caso, el otro valor seria ajustado automáticamente por matplotlib.
Anotaciones
En ocasiones necesitamos añadir ciertas anotaciones al gráfico que estamos diseñando. Esto permite destacar áreas o detalles que pueden ser relevantes.
Partiendo de las funciones seno y coseno con las que hemos estado trabajando, vamos a suponer que queremos obtener sus puntos de corte, es decir, resolver la siguiente ecuación:
Para el caso que nos ocupa haríamos n = 0 con lo que obtendríamos la siguiente solución:
Vamos a insertar una serie de anotaciones en el gráfico:
- Flecha en el punto de corte con etiqueta de ecuación.
- Coordenadas de solución en el punto de corte.
- Proyección del punto de corte hacia ambos ejes.
Ejercicio
Escriba el código Python necesario para obtener el siguiente gráfico:
Datos:
- 𝑥 ∈ [0, 2𝜋] (1000 puntos)
- 𝑦 = 𝑒−𝛼𝑥𝑠𝑖𝑛(𝛽𝑥), donde 𝛼 = 0.7 y 𝛽 = 10.