バーコード番号

このデモでは、バーコードを生成する方法を示します。

Figure のサイズは、ピクセル単位の幅がデータ ポイント数の倍数になるように計算され、補間によるアーティファクトを防ぎます。さらに、 Axesは Figure 全体にまたがるように定義されており、すべてAxisがオフになっています。

データ自体は次をimshow使用してレンダリングされます

  • code.reshape(1, -1)データを 1 行の 2D 配列に変換します。

  • imshow(..., aspect='auto')非正方形ピクセルを許可します。

  • imshow(..., interpolation='nearest')エッジのぼやけを防ぎます。Figure の幅をピクセル単位で微調整したため、これは発生しないはずですが、念のためです。

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()
バーコードのデモ

参考文献

この例では、次の関数、メソッド、クラス、およびモジュールの使用が示されています。

Sphinx-Gallery によって生成されたギャラリー