Requisitos previos: Matplotlib en Python , MySQL
Mientras trabajamos con Python necesitamos trabajar con bases de datos, pueden ser de diferentes tipos como MySQL, SQLite, NoSQL, etc. En este artículo, veremos cómo conectar bases de datos MySQL usando MySQL Connector/Python. El módulo MySQL Connector de Python se usa para conectar bases de datos MySQL con los programas de Python, lo hace usando la Especificación API de base de datos de Python v2.0 (PEP 249). Utiliza la biblioteca estándar de Python y no tiene dependencias.
En este artículo, vamos a discutir cómo visualizar datos de la base de datos MySQL usando matplotlib en Python. Para realizar esta tarea, solo necesitamos instalar un módulo llamado mysqlconnector que se puede instalar usando
pip install mysqlconnector
Ahora, para usar la biblioteca matplotlib en python, también debemos instalarla. Podemos instalarlo usando:
pip install matplotlib
Además de estos módulos, también instalaremos otro módulo que es numpy que actuará como un módulo de utilidad para el funcionamiento eficiente de matplotlib. Por otro lado, NumPy tiene un enorme uso para realizar operaciones matemáticas y lógicas en Arrays y tratar con cálculos matemáticos.
Escriba los comandos anteriores en el símbolo del sistema del sistema operativo Windows para instalar los módulos necesarios.
Ahora, para usar los módulos instalados, debemos importarlos en Python. Esto puede hacerse de la siguiente manera:
import numpy as np
Aquí np es simplemente un alias para numpy. En lugar de np podemos tomar cualquier nombre que queramos. Se usa para que podamos escribir np en lugar de numpy.
import matplotlib.pyplot as plt
matplotlib.pyplot es una colección de funciones que hacen que matplotlib funcione, importarlo como plt significa que podemos escribir plt en lugar de matplotlib.pyplot.
Pasos para conectar la base de datos MySQL con Python:
- Lo primero que debemos hacer es importar mysqlconnector que hemos instalado anteriormente, esto se puede hacer escribiendo:
import mysql.connector
- Ahora podemos crear una variable, digamos mydb, que se usa para almacenar el resultado de la conexión. Entonces podemos conectar MySQL con Python usando el método connect() que pertenece a la clase mysql.connector, esto se puede hacer de la siguiente manera:
mydb=mysql.connector.connect(host=”localhost”,usuario=”raíz”,contraseña=”Su_contraseña”,database=”Nombre_de_la_base de datos”)
- Como se mencionó en el código anterior, este método connect() requiere algunos argumentos que son los siguientes:
- host que puede ser su host local o algún otro host.
- usuario que no es otro que el nombre de usuario de la base de datos mysql.
- contraseña que es su contraseña en la base de datos mysql.
- base de datos que es el nombre de la base de datos de la que se van a obtener los datos.
En este punto, hemos terminado con la conexión de la base de datos MySQL con Python. Ahora nuestra intención es obtener información de la base de datos, por lo que creamos una variable, digamos mycursor, que almacenará el cursor de la base de datos actual. Un cursor le permite iterar un conjunto de filas devueltas por una consulta y procesar cada fila para obtener la información deseada.
mycursor=mydb.cursor()
Dado un registro de estudiante en la base de datos MySQL, trace un gráfico entre el nombre del estudiante y las calificaciones obtenidas por los estudiantes. Para resolver el problema anterior primero tenemos que conectar MySQL a Python.
Ejemplo de tabla a utilizar:
Ahora, para obtener la consulta deseada, usamos el método de ejecución() de mycursor que tomará la consulta SQL como argumento y también almacenamos el resultado de la consulta usando fetchall de mycursor, esto se puede hacer de la siguiente manera:
Python3
mycursor.execute("select Name, Marks from student_marks") result = mycursor.fetchall
Como puede ver en la consulta anterior, estamos tratando de obtener el Nombre del estudiante y las Marcas del estudiante de la tabla student_marks. Ahora almacenamos el nombre del estudiante y sus respectivas marcas en dos listas separadas para que podamos representarlas en un gráfico de barras.
Python3
Names = [] Marks = [] for i in mycursor: Names.append(i[0]) Marks.append(i[1]) print("Name of Students = ", Names) print("Marks of Students = ", Marks)
Visualización de datos usando Matplotlib:
Python3
# plt.bar to plot a bar graph # with given values plt.bar(Names, Marks) # Setting count of values in # y-axis plt.ylim(0, 5) # setting xlabel of graph plt.xlabel("Name of Students") # setting ylabel of graph plt.ylabel("Marks of Students") # setting tile of graph plt.title("Student's Information") # show() method to display the graph plt.show()
A continuación se muestra la implementación completa del enfoque anterior:
Python3
# Connecting to mysql database import mysql.connector import numpy as np import matplotlib.pyplot as plt mydb = mysql.connector.connect(host="localhost", user="root", password="password", database="student_info") mycursor = mydb.cursor() # Fecthing Data From mysql to my python progame mycursor.execute("select Name, Marks from student_marks") result = mycursor.fetchall Names = [] Marks = [] for i in mycursor: Names.append(i[0]) Marks.append(i[1]) print("Name of Students = ", Names) print("Marks of Students = ", Marks) # Visulizing Data using Matplotlib plt.bar(Names, Marks) plt.ylim(0, 5) plt.xlabel("Name of Students") plt.ylabel("Marks of Students") plt.title("Student's Information") plt.show()
Producción:
Publicación traducida automáticamente
Artículo escrito por srivastavaharshit848 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA