[ Algoritmo ] [ Ejes y etiquetas ][ Ejemplos ]
Para la solución de problemas en ingeniería, una gráfica es de gran ayuda. La gráfica puede mostrarse usando tan solo algunas instrucciones en Python con la ayuda de las librerías Numpy para vectores y matrices y Matplotlib para las gráficas.
Se usa un ejemplo para la gráfica de la función f(x) en el intervalo [0.5, 2]
f(x) = 5 \cos(2x) - 2x \sin(2x)[ Algoritmo ] [ Ejes y etiquetas ][ Ejemplos ]
..
Algoritmo en Python para gráfica 2D
El bloque de inicio contiene la referencia del problema y carga las librerías numpy y matplotlib.
La función f(x) se puede escribir en la forma «def-return» o también en la forma simplificada lambda
.
fx = lambda x: 5*np.cos(2*x)-2*x*np.sin(2*x)
El bloque de ingreso se usa para definir la función matemática fx en formato lambda y los valores que determinan el intervalo [a,b]. Se requiere establecer el número de muestras necesarias para una buena precisión o «suavidad» de la curva.
En el bloque de procedimiento, se calculan los vectores que contienen los puntos xi, fi. Para calcular el vector xi se usa la instrucción np.linspace(a,b,muestras)
que permite generar las muestras xi en el intervalo [a,b] del eje x , cuyos valores luego son usados para evaluar f(xi)
# Grafica 2D con linea import numpy as np import matplotlib.pyplot as plt # INGRESO fx = lambda x: 5*np.cos(2*x)-2*x*np.sin(2*x) a = 0.5 b = 2 muestras = 21 # PROCEDIMIENTO xi = np.linspace(a,b,muestras) fi = fx(xi) # SALIDA # GRAFICA plt.plot(xi,fi) # Etiquetas de ejes plt.title('funcion(x)') plt.xlabel('x') plt.ylabel('y') plt.show()
El bloque de salida se enfoca en la gráfica. Las instrucciones necesarias para la gráfica son básicamente dos:
- la que dibuja la línea
plt.plot(xi,fi)
- la que muestra el gráfico en pantalla
plt.show()
A la gráfica se puede añadir otros detalles con instrucciones adicionales antes de plt.show()
. Por ejemplo, se añaden las etiquetas de los ejes con plt.xlabel()
, plt.ylabel()
, y los títulos de los gráficos con plt.title()
.
Cuando se termina de añadir los elementos del gráfico, se usa la instrucción plt.show()
para mostrar la gráfica.
[ Algoritmo ] [ Ejes y etiquetas ][ Ejemplos ]
Instrucciones complementarias para ejes y etiquetas
Cuadrícula | plt.grid() |
|
linea horizontal | plt.axhline(0) |
eje y=0 |
linea vertical | plt.axvline(0) |
eje x=0 |
color de línea | plt.plot(xi, fi, 'r') |
‘r’ Red, ‘g’ Green, etc |
puntos | plt.plot(xi, fi, 'g0') |
‘o’, ‘+’, ‘.-‘ |
etiqueta de línea | plt.plot(xi, fi, label='f(x)') |
label = etiqueta |
muestra leyendas | plt.legend() |
incluye cuadro con las etiquetas para cada curva en la gráfica. Trabaja en conjunto con plt.plot(x,y, label=’nombre curva’) |
Algunas facilidades de la gráfica en Python son: ZOOM, guardar imagen, con el cursor se estima el valor del punto, etc.
En los ejercicios del curso se ampliarán los detalles, en la medida que se presentan nuevas necesidades para resaltar resultados en la gráfica.
# SALIDA # GRAFICA plt.plot(xi,fi) plt.plot(xi,fi,'r.') # lineas auxiliares plt.axhline(0) plt.grid() # Etiquetas de ejes plt.title('funcion(x)') plt.xlabel('x') plt.ylabel('y') plt.show()
El tema se continuará desarrollando para líneas junto a los ejercicios de cada unidad.
%matplotlib inline | instrucción de IPython para que las gráficas se incluyan en la página. De no usarla, las gráficas aparecen en ventanas aparte. |
import matplotlib.pyplot as plt | Importar librerías de funciones matplotlib.pyplot, usando un alias de tres letras «plt»: |
plt.show() | muestra el gráfico creado con las instrucciones. Es la última instrucción a usar luego de crear el gráfico. |
plt.xlabel(‘textoejex’)
plt.ylabel(‘textoejey’) |
Asigna nombres a los ejes de abscisas y ordenas. El nombre se escribe entre ‘apóstrofes’ o «comillas». |
plt.stem(x,y) | gráfico de líneas verticales y un punto. Usado para mostrar señales discretas en los libros de texto de la bibliografía. |
plt.figure(k) | permite generar varias gráficas, numeradas cada una por el valor de k. En Python simple se muestran en ventanas separadas. |
plt.title(‘texto’) | escribe el título del gráfico, definido por ‘texto’ |
plt.fill_between(rangox, 0, valores, color=’green’ | dibuja en el rango un área entre 0 y los valores, al color descrito: ‘green’, ‘ligthgreen’, ‘red’, ‘magenta’, ‘blue’, ‘yellow’, etc |
plt.margins(0.1) | crea un margen en la gráfica de valor 0.1 expandiendo los bordes sobre los máximos y mínimos. Se usa para ver claramente las variaciones en los extremos o cuando los valores máximos son constantes en un periodo. |
[ Algoritmo ] [ Ejes y etiquetas ][ Ejemplos ]
..
Ejemplos de gráficas en 2D
Las gráficas son un recurso muy versátil en el área de la matemática e ingeniería. En el curso de Métodos Numéricos se presenta una introducción de gráficas en 2D y se usan y desarrollan en todas las unidades como parte del análisis de los problemas.
Graficas 3D puntos dispersos-scatter
En el curso de Señales y Sistemas, se las usa ampliamente desde la unidad 1 Señales, para mostrar los diferentes tipos y formas, y luego en el análisis de las respuestas de los sistemas ante las señales. Como tema de introducción, revise algunas de las definiciones básicas de señales para observar la aplicación de gráficas.
3. Señales Analógicas y Digitales
4. Señales Periódicas y No periódicas
5. Señales de Energía y Potencia
9. Señales Exponencial compleja
10. Señales operaciones en tiempo
También se usan para el análisis de resultados e algún experimento, como los que se pueden observar en el grupo de investigación GIRNI
Rssi vs Distancia. Linealiza POR intervalos
Se pueden usar algunos tipos de gráficas, como de línea, dispersión, flechas, usando las coordenadas en vectores x, y
plt.plot(x,y) plt.scatter(x,y) plt.arrow(xinicio, yinicio, deltax,deltay) plt.quiver(xinicio, yinicio, componentex, componentey)
Las instrucciones para las gráficas se realizan en el bloque de salida usando un solo bloque de instrucciones, para finalmente mostrar el resultado plt.show().
[ Algoritmo ] [ Ejes y etiquetas ][ Ejemplos ]