Criar Código de Barras com Matplotlib

Beginner

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

Introdução

Este laboratório demonstra como criar um código de barras usando Matplotlib em Python. O código de barras é produzido usando um array binário de uns e zeros, e é renderizado usando Axes.imshow.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar as Bibliotecas Necessárias

Primeiramente, precisamos importar as bibliotecas necessárias, incluindo numpy e matplotlib.

import matplotlib.pyplot as plt
import numpy as np

Criar o Array Binário

Em seguida, precisamos criar o array binário que será usado para gerar o código de barras. Neste exemplo, usaremos o seguinte array binário:

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])

Definir os Valores de Pixel e DPI

Precisamos definir os valores de pixel e DPI para o código de barras. Neste exemplo, usaremos um valor de pixel de 4 e um valor de DPI de 100.

pixel_per_bar = 4
dpi = 100

Criar a Figura e os Eixos

Precisamos criar a figura e os eixos para o código de barras. Definiremos o tamanho da figura como um múltiplo do número de pontos de dados e desativaremos todos os eixos.

fig = plt.figure(figsize=(len(code) * pixel_per_bar / dpi, 2), dpi=dpi)
ax = fig.add_axes([0, 0, 1, 1])  ## span the whole figure
ax.set_axis_off()

Renderizar o Código de Barras

Finalmente, podemos renderizar o código de barras usando Axes.imshow. Usaremos code.reshape(1, -1) para transformar os dados em um array 2D com uma linha, imshow(..., aspect='auto') para permitir pixels não quadrados e imshow(..., interpolation='nearest') para evitar bordas borradas.

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

Resumo

Neste laboratório, aprendemos como criar um código de barras usando Matplotlib em Python. Primeiro, importamos as bibliotecas necessárias, depois criamos um array binário que será usado para gerar o código de barras. Em seguida, definimos os valores de pixel e DPI e criamos a figura e os eixos. Finalmente, renderizamos o código de barras usando Axes.imshow.