我正在尝试使用Python中的WordCloud模块生成词云,但是每当我调用.generate
时,我会看到以下错误。
Traceback (most recent call last):
File "/mnt/6db3226b-5f96-4257-980d-bb8ec1dad8e7/test.py", line 4, in <module>
wc.generate("foo bar foo bar hello world")
File "/home/mjc/.local/lib/python3.10/site-packages/wordcloud/wordcloud.py", line 639, in generate
return self.generate_from_text(text)
File "/home/mjc/.local/lib/python3.10/site-packages/wordcloud/wordcloud.py", line 621, in generate_from_text
self.generate_from_frequencies(words)
File "/home/mjc/.local/lib/python3.10/site-packages/wordcloud/wordcloud.py", line 453, in generate_from_frequencies
self.generate_from_frequencies(dict(frequencies[:2]),
File "/home/mjc/.local/lib/python3.10/site-packages/wordcloud/wordcloud.py", line 508, in generate_from_frequencies
box_size = draw.textbbox((0, 0), word, font=transposed_font, anchor="lt")
File "/usr/lib/python3/dist-packages/PIL/ImageDraw.py", line 671, in textbbox
raise ValueError("Only supported for TrueType fonts")
ValueError: Only supported for TrueType fonts
目前,我正在尝试创建一个非常简单的词云示例
import matplotlib.pyplot as plt
from wordcloud import WordCloud
wc = WordCloud(background_color="white", font_path="./arial.ttf", width=800, height=400)
wc.generate("foo bar foo bar hello world")
plt.axis("off")
plt.imshow(wc)
plt.savefig("test.png")
plt.show()
在Ubuntu 22.04和Python 3.10.6下,我将arial.ttf
从https://www.freefontspro.com/14454/arial.ttf下载并放置在与test.py
相同的目录中。
我希望能够从输入“foo bar foo bar hello world”生成词云,但是出现了错误ValueError:Only supported for TrueType fonts
,尽管已将ttf传递给font_path
参数。
如果有任何帮助解决此问题,将不胜感激!
pillow
包名称是小写的。 - abupillow
是Windows的解决方案,而Ubuntu则需要libfreetype6
。我将保留Mark的答案作为已接受的答案,因为它对我的情况有所帮助。 - Matthewlibfreetype6
已经是最新版本,并且我将pillow
更新到了9.5.0版本。然而,我仍然收到相同的错误信息。 - eel76