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 Axis
sono disattivati.
I dati stessi vengono resi con imshow
using
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: