在Matplotlib中显示EAN-13条形码

时间:2018-07-04 09:58:19

标签: python matplotlib plot barcode

我想在Matplotlib中显示EAN条形码。我尝试将包装用作条形码,但这仅会绘制为.svg和.png,这对于我的应用程序来说非常不便。如何按照以下示例放置EAN条形码:

图中的条形码:

enter image description here

我还附加了用于绘制当前图像的代码:

# Plot opzetten
# Create figure and axes
fig,ax = plt.subplots(figsize=(5.5,2.5))
#plt.figure(figsize=(5.5,3))

# Header plotten
font_dict = {'family':'sans-serif',
             'color':'white',
             'horizontalalignment':'center',
             'verticalalignment':'center',
             'weight':'normal',
             'size': 14
             }

ax.text(0.5,(0.94-0.005),Header,fontdict=font_dict)

# Artikelnaam plotten
font_dict = {'family':'sans-serif',
             'color':'black',
             'horizontalalignment':'center',
             'verticalalignment':'center',
             'weight':'normal',
             'size': 14
             }

ax.text(0.5,(0.80-0.005),Artikelnaam,fontdict=font_dict)

# Prijs_header plotten
font_dict = {'family':'sans-serif',
             'color':'white',
             'horizontalalignment':'left',
             'verticalalignment':'center',
             'weight':'heavy',
             'size': 14
             }

ax.text(0.58+.02,(0.31-0.005),Prijs_header,fontdict=font_dict)

# Prijs plotten
font_dict = {'family':'sans-serif',
             'color':'black',
             'horizontalalignment':'right',
             'verticalalignment':'center',
             'weight':'bold',
             'size': 22.5
             }

ax.text(1.00-.02,(0.125-0.005),'€' + str(round(Decimal(Prijs),2)),fontdict=font_dict)

# Artikelnummer plotten
font_dict = {'family':'sans-serif',
             'color':'black',
             'horizontalalignment':'left',
             'verticalalignment':'bottom',
             'weight':'normal',
             'size': 14
             }

ax.text(0+0.02,0+0.02,Artikelnummer,fontdict=font_dict)

# Patches
Header_patch = patches.Rectangle((0,.88),1,.12,linewidth=1,edgecolor='black',facecolor='black')
Artikelnaam_patch = patches.Rectangle((0,.72),1,.16,linewidth=1,edgecolor='black',facecolor='none')
EAN_patch = patches.Rectangle((0,.37),1,.35,linewidth=1,edgecolor='black',facecolor='none')
Artikelnummer_patch = patches.Rectangle((0,0),.58,.37,linewidth=1,edgecolor='black',facecolor='none')
Prijs_header_patch = patches.Rectangle((0.58,.25),.42,.12,linewidth=1,edgecolor='black',facecolor='black')


# Patches plotten
ax.add_patch(Header_patch)
ax.add_patch(Artikelnaam_patch)
ax.add_patch(EAN_patch)
ax.add_patch(Artikelnummer_patch)
ax.add_patch(Prijs_header_patch)

plt.gca().axes.get_yaxis().set_visible(False)
plt.gca().axes.get_xaxis().set_visible(False)

plt.show()

fig.savefig("Sticker_1.pdf", bbox_inches='tight')

0 个答案:

没有答案
相关问题