Crear código de barras con Matplotlib

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica demuestra cómo crear un código de barras utilizando Matplotlib en Python. El código de barras se produce utilizando una matriz binaria de unos y ceros, y se representa utilizando Axes.imshow.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.

Importar las bibliotecas necesarias

En primer lugar, necesitamos importar las bibliotecas necesarias, incluyendo numpy y matplotlib.

import matplotlib.pyplot as plt
import numpy as np

Crear la matriz binaria

A continuación, necesitamos crear la matriz binaria que se utilizará para generar el código de barras. En este ejemplo, usaremos la siguiente matriz binaria:

code = np.array([
    1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1,
    0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0,
    1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1,
    1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1])

Establecer los valores de píxeles y DPI

Necesitamos definir los valores de píxeles y DPI para el código de barras. En este ejemplo, usaremos un valor de píxeles de 4 y un valor de DPI de 100.

pixel_per_bar = 4
dpi = 100

Crear la figura y los ejes

Necesitamos crear la figura y los ejes para el código de barras. Estableceremos el tamaño de la figura como un múltiplo del número de puntos de datos y desactivaremos todos los ejes.

fig = plt.figure(figsize=(len(code) * pixel_per_bar / dpi, 2), dpi=dpi)
ax = fig.add_axes([0, 0, 1, 1])  ## abarcar toda la figura
ax.set_axis_off()

Representar el código de barras

Finalmente, podemos representar el código de barras usando Axes.imshow. Usaremos code.reshape(1, -1) para convertir los datos en una matriz bidimensional con una sola fila, imshow(..., aspect='auto') para permitir píxeles no cuadrados y imshow(..., interpolation='nearest') para evitar bordes borrosos.

ax.imshow(code.reshape(1, -1), cmap='binary', aspect='auto',
          interpolation='nearest')
plt.show()

Resumen

En este laboratorio, aprendimos cómo crear un código de barras usando Matplotlib en Python. Primero importamos las bibliotecas necesarias, luego creamos una matriz binaria que se utilizará para generar el código de barras. A continuación, establecimos los valores de píxeles y DPI y creamos la figura y los ejes. Finalmente, representamos el código de barras usando Axes.imshow.