Código de barras #

Esta demonstração mostra como produzir um código de barras.

O tamanho da figura é calculado de modo que a largura em pixels seja um múltiplo do número de pontos de dados para evitar artefatos de interpolação. Além disso, o Axesé definido para abranger toda a figura e todos Axissão desativados.

Os dados em si são renderizados imshowusando

  • code.reshape(1, -1)para transformar os dados em uma matriz 2D com uma linha.

  • imshow(..., aspect='auto')para permitir pixels não quadrados.

  • imshow(..., interpolation='nearest')para evitar bordas borradas. Isso não deve acontecer de qualquer maneira porque ajustamos a largura da figura em pixels, mas apenas por segurança.

import matplotlib.pyplot as plt
import numpy as np


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

pixel_per_bar = 4
dpi = 100

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()
ax.imshow(code.reshape(1, -1), cmap='binary', aspect='auto',
          interpolation='nearest')
plt.show()
demonstração de código de barras

Referências

O uso das seguintes funções, métodos, classes e módulos é mostrado neste exemplo:

Galeria gerada por Sphinx-Gallery