Noter
Cliquez ici pour télécharger l'exemple de code complet
Code-barres #
Cette démo montre comment produire un code à barres.
La taille de la figure est calculée de sorte que la largeur en pixels soit un multiple du nombre de points de données pour éviter les artefacts d'interpolation. De plus, le
Axes
est défini pour couvrir toute la figure et tous Axis
sont désactivés.
Les données elles-mêmes sont rendues à imshow
l'aide de
code.reshape(1, -1)
pour transformer les données en un tableau 2D avec une ligne.imshow(..., aspect='auto')
pour autoriser les pixels non carrés.imshow(..., interpolation='nearest')
pour éviter les bords flous. Cela ne devrait pas se produire de toute façon car nous avons affiné la largeur de la figure en pixels, mais juste pour être sûr.
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()
Références
L'utilisation des fonctions, méthodes, classes et modules suivants est illustrée dans cet exemple :