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 Axesest défini pour couvrir toute la figure et tous Axissont désactivés.

Les données elles-mêmes sont rendues à imshowl'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()
démo code-barres

Références

L'utilisation des fonctions, méthodes, classes et modules suivants est illustrée dans cet exemple :

Galerie générée par Sphinx-Gallery