Notiz
Klicken Sie hier , um den vollständigen Beispielcode herunterzuladen
Strichcode #
Diese Demo zeigt, wie ein Barcode erstellt wird.
Die Abbildungsgröße wird so berechnet, dass die Breite in Pixel ein Vielfaches der Anzahl der Datenpunkte ist, um Interpolationsartefakte zu vermeiden. Außerdem ist der
Axes
so definiert, dass er sich über die gesamte Figur erstreckt, und alle Axis
sind ausgeschaltet.
Die Daten selbst werden mit imshow
using gerendert
code.reshape(1, -1)
um die Daten in ein 2D-Array mit einer Zeile umzuwandeln.imshow(..., aspect='auto')
um nichtquadratische Pixel zuzulassen.imshow(..., interpolation='nearest')
um unscharfe Kanten zu vermeiden. Das sollte sowieso nicht passieren, weil wir die Zahlenbreite in Pixel feinjustiert haben, aber nur um sicher zu gehen.
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()
Verweise
In diesem Beispiel wird die Verwendung der folgenden Funktionen, Methoden, Klassen und Module gezeigt: