Показать штрих-код EAN-13 в Matplotlib - PullRequest
0 голосов
/ 04 июля 2018

Я хочу отобразить EAN-штрих-код в Matplotlib. Я пытался использовать пакеты в качестве штрих-кода, но это только отображает .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')
...