我在python中使用wordcloud来生成单词云。
我能够在我的计算机上重现此example,然后尝试将最后一行plt.show()
更改为plt.savefig('image.pdf')
以获得pdf输出。
我有一个相同结果的pdf,然而,pdf看起来像基于像素而不是基于矢量。当我将特定点集中在pdf中时,它会变成质量非常低的画面。
有没有办法使用wordcloud制作基于矢量的pdf?如果没有,是否还有其他库可以在Python中生成基于矢量(pdf)的wordclouds?
答案 0 :(得分:1)
如果wordcloud可以生成任何类型的矢量输出,例如ps或svg,则inkscape通常可以将其转换为PDF而不对其进行栅格化。你甚至可以做到无头,例如inkscape my.svg -A my.pdf。
嗯,看着wordcloud,它看起来像是使用了PIL。我不认为PIL可以产生矢量图像。但是如果您可以在wordcloud中使用逻辑并将其与PIL分开,则可以通过绘制到reportlab画布上将矢量字体绘制到PDF上。答案 1 :(得分:-1)
您可以将图像保存为矢量格式,以便它们可以扩展而不会丢失质量。这些格式是PDF和EPS。只需将扩展名更改为.pdf或.eps,matplotlib就会编写正确的图像格式。
plt.savefig('destination_path.eps', format='eps')
plt.savefig('destination_path.pdf', format='pdf')
我发现eps / pdf文件效果最好。