1. 程式人生 > >用Wordcloud生成中文詞雲時遇到的問題

用Wordcloud生成中文詞雲時遇到的問題

用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檔案就執行成功了。