¿Cómo visualizar datos de la base de datos MySQL usando Matplotlib en Python?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *