103 lines
3.5 KiB
Python
103 lines
3.5 KiB
Python
import matplotlib.pyplot as plt
|
|
import numpy as np
|
|
|
|
#Grafico Curva Simple
|
|
plt.plot([1, 2, 3], [4, 5, 6])
|
|
plt.show()
|
|
|
|
x = [1, 2, 3]
|
|
y = [4, 5, 6]
|
|
|
|
#Grafico de barras simple
|
|
plt.bar(x, y, width=0.5, color='RED')
|
|
plt.show()
|
|
|
|
|
|
#Grafico de dispersión
|
|
x = np.array([5, 7, 8, 7, 2, 17, 2, 9, 4, 11, 12, 9, 6])
|
|
y = np.array([99, 86, 87, 88, 111, 86, 103, 87, 94, 78, 77, 85, 86])
|
|
|
|
plt.scatter(x, y)
|
|
plt.xticks(np.arange(2, 19, 1)) # Establecer los ticks del eje x utilizando np.arange para generar una secuencia de valores desde 2 hasta 19 con un paso de 0.5. Esto asegurará que los ticks del eje x estén espaciados uniformemente y cubran el rango de los datos en el gráfico de dispersión.
|
|
plt.yticks(np.arange(min(y), max(y), 10)) # Establecer los ticks del eje y utilizando np.arange para generar una secuencia de valores desde el mínimo hasta el máximo de y con un paso de 10. Esto asegurará que los ticks del eje y estén espaciados uniformemente y cubran el rango de los datos en el gráfico de dispersión.
|
|
plt.title("Dispersion")
|
|
plt.xlabel("X")
|
|
plt.ylabel("Y")
|
|
|
|
plt.savefig("Graphs/dispersion.png", dpi=300, bbox_inches='tight') # Guardar el gráfico actual como un archivo de imagen con el nombre "Graphs.png" y una resolución de 300 puntos por pulgada (dpi). El param bbox_inches='tight' se utiliza para ajustar automáticamente los bordes del gráfico para que se ajusten al contenido, evitando recortes innecesarios alrededor del gráfico.
|
|
plt.show()
|
|
|
|
"""Tambien se pueden poner otros valores en los ejes"""
|
|
|
|
fruits = ["Manzanas", "Mangos", "Fresas"]
|
|
sales = [10 ,15, 7]
|
|
|
|
plt.bar(fruits, sales)
|
|
plt.show()
|
|
|
|
"""Mas variacones de graficas"""
|
|
x = np.array([_ for _ in range(30)])
|
|
y = np.array([np.random.randint(1, 100) for _ in range(30)])
|
|
|
|
plt.plot(x, y)
|
|
plt.title("Prueba")
|
|
plt.xlabel("X: 0 a 100")
|
|
plt.ylabel("Y: 0 a 100")
|
|
plt.show()
|
|
|
|
"""Multiples graficas en una sola figura"""
|
|
|
|
x = np.linspace(-1, 1, 100) # Generar un array de 100 valores equidistantes entre 0 y 2 utilizando la función linspace de NumPy. Esto se utiliza para crear un conjunto de puntos en el eje x para graficar una función matemática.
|
|
|
|
f1 = np.copy(x) # Crear una copia del array x y asignarla a f1. Esto se hace para preservar los valores originales de x mientras se realizan operaciones matemáticas en f1 debido que si solo se hace f1 = x pertenece a la misma instancia de memoria por lo quue toda modificacion a f1 se vera reflejada a x sin copy.
|
|
|
|
f2 = np.copy(x)**2
|
|
|
|
f3 = np.copy(x)**3
|
|
|
|
plt.figure(figsize=(5, 3)) # Crear una nueva figura para graficar con un tamaño específico de 5 pulgadas de ancho y 3 pulgadas de alto utilizando la función figure de Matplotlib.
|
|
|
|
plt.subplot(131) # Crear un subplot en la figura actual que ocupará la primera posición en una cuadrícula de 1 fila y 3 columnas utilizando la función subplot de Matplotlib. Esto permite organizar múltiples gráficos en una sola figura.
|
|
plt.plot(x, f1)
|
|
plt.title("Funcion n1")
|
|
plt.xlabel("X")
|
|
plt.ylabel("f1")
|
|
|
|
plt.subplot(132)
|
|
plt.plot(x, f2)
|
|
plt.title("Funcion n2")
|
|
plt.xlabel("X")
|
|
plt.ylabel("f2")
|
|
|
|
plt.subplot(133)
|
|
plt.plot(x, f3)
|
|
plt.title("Funcion n3")
|
|
plt.xlabel("X")
|
|
plt.ylabel("f3")
|
|
|
|
plt.show()
|
|
|
|
"""Otra opcion de multi figs"""
|
|
|
|
fig, ax = plt.subplots(figsize=(5,3))
|
|
|
|
ax.plot(x, f1, label="lineal")
|
|
ax.plot(x, f2, label="cuadratica")
|
|
ax.plot(x, f3, label="cubica")
|
|
ax.set_xlabel("X")
|
|
ax.set_ylabel("Y")
|
|
ax.set_title("Prueba de plots")
|
|
ax.legend()
|
|
|
|
plt.show()
|
|
|
|
n_f = np.sin(np.linspace(0, 10, 100))
|
|
|
|
x = np.arange(len(n_f))
|
|
|
|
fig, ax = plt.subplots(figsize=(5,3))
|
|
ax.plot(x, n_f, color="purple", linewidth=1, linestyle='-')
|
|
|
|
plt.show()
|
|
|