用Wordcloud生成中文詞雲時遇到的問題
阿新 • • 發佈:2018-11-08
用Wordcloud生成中文詞雲時遇到的問題
import jieba
import wordcloud
f= open ('ciyun.txt',encoding='utf-8')
t=f.read()
f.close()
ls=jieba.lcut(t)
txt=" ".join(ls)
w=wordcloud.WordCloud(font_path="微軟雅黑粗體.ttf",width=1000,height=700,background_color="white")
w.generate(txt)
w.to_file("wordcloud.png")
Traceback (most recent call last):
File "E:\python code\政府工作報告詞雲.py", line 11, in <module>
w.generate(txt)
File "D:\python3\lib\site-packages\wordcloud\wordcloud.py", line 605, in generate
return self.generate_from_text(text)
File "D:\python3\lib\site-packages\wordcloud\wordcloud.py", line 587 , in generate_from_text
self.generate_from_frequencies(words)
File "D:\python3\lib\site-packages\wordcloud\wordcloud.py", line 426, in generate_from_frequencies
max_font_size=self.height)
File "D:\python3\lib\site-packages\wordcloud\wordcloud.py", line 473, in generate_from_frequencies
font = ImageFont.truetype(self.font_path, font_size)
File "D:\python3\lib\site-packages\PIL\ImageFont.py", line 280, in truetype
return FreeTypeFont(font, size, index, encoding, layout_engine)
File "D:\python3\lib\site-packages\PIL\ImageFont.py", line 145, in __init__
layout_engine=layout_engine)
OSError: cannot open resource
在生成中文詞雲時老是跳出這個問題,而且這段程式碼使我直接拿的老師上課時講的。自己在網上搜索了很久,都沒能找到解答,最後只能將程式中的程式碼一行一行的刪除,看時什麼位置出現的這個bug,當刪到font_path="微軟雅黑粗體.ttf"這部分時,bug才消失,這才明白原來是自己沒有下載對應的字型檔案。上課老師也是沒有講,我還天真的以為字型檔案是Python平臺自帶的,果然是我太天真了,在網上下載了一個ttf檔案就執行成功了。