Nota
Fare clic qui per scaricare il codice di esempio completo
Codice a barre n.
Questa demo mostra come produrre un codice a barre.
La dimensione della figura viene calcolata in modo che la larghezza in pixel sia un multiplo del numero di punti dati per evitare artefatti di interpolazione. Inoltre,
Axesè definito per coprire l'intera figura e tutti Axissono disattivati.
I dati stessi vengono resi con imshowusing
code.reshape(1, -1)per trasformare i dati in un array 2D con una riga.imshow(..., aspect='auto')per consentire pixel non quadrati.imshow(..., interpolation='nearest')per evitare bordi sfocati. Ciò non dovrebbe accadere comunque perché abbiamo messo a punto la larghezza della figura in pixel, ma solo per sicurezza.
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()

Riferimenti
L'uso delle seguenti funzioni, metodi, classi e moduli è mostrato in questo esempio: