메모
전체 예제 코드를 다운로드 하려면 여기 를 클릭 하십시오.
바코드 #
이 데모는 바코드 생성 방법을 보여줍니다.
그림 크기는 보간 아티팩트를 방지하기 위해 픽셀의 너비가 데이터 포인트 수의 배수가 되도록 계산됩니다. 또한
Axes
는 전체 그림에 걸쳐 있도록 정의되며 모두 Axis
꺼집니다.
imshow
데이터 자체는 다음을 사용하여 렌더링됩니다.
code.reshape(1, -1)
데이터를 하나의 행이 있는 2D 배열로 변환합니다.imshow(..., aspect='auto')
정사각형이 아닌 픽셀을 허용합니다.imshow(..., interpolation='nearest')
가장자리가 흐려지는 것을 방지합니다. 그림 너비를 픽셀 단위로 미세 조정했기 때문에 이런 일이 발생해서는 안 됩니다. 단지 안전을 위해서입니다.
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()
참조
다음 함수, 메서드, 클래스 및 모듈의 사용이 이 예제에 표시됩니다.