import re
import collections
import numpy as np
import jieba
from PIL import Image
import wordcloud
import matplotlib.pylab as plt
#讀取文本
with open("三國演義.txt",'r') as fp:
words=fp.read()
#文本預處理
pattern=re.compile(u'\t|\n|\。|-|:|;|\)|\(\?|“|”|!|、|,|')#定義正則運算式匹配模式
words=re.sub(pattern,'',words)
#文本分詞
swords=jieba.cut(words,cut_all=False)
#屏蔽詞匯
okwords=[]
#第二種方法nywords=[u'的',u'乃',u'和',u'是',u'在',u'了',u'也',u'吾',u'與',u'而',u'曰',u'之',u'于',u'',u'不',u'我',u'來',u'去',u' ',u'皆',u'人',u'又',u'見',u'為',u'將',u'有',u'矣',u'遂',u'等',u'',u'',u'',]
for word in swords:
if len(word) == 1:
continue
okwords.append(word)
#第二種方法for word in swords:
#if word not in nywords:
#okwords.append(word)
#詞頻統計
word_counts=collections.Counter(okwords)
print(word_counts)
word_counts_top10=word_counts.most_common(10)
print(word_counts_top10)
#詞頻展示
mask=np.array(Image.open('aixing.png'))
love=wordcloud.WordCloud(
font_path='C:/Windows/Fonts/simhei.ttf',
background_color= "white",
mask=mask,
max_words=20,
max_font_size= 100
)
love.generate_from_frequencies(word_counts)
image_colors=wordcloud.ImageColorGenerator(mask)
love.recolor(color_func=image_colors)
plt.imshow(love)
plt.axis('off')
plt.show()

運行后出現這個問題,求大神幫忙解決。謝謝了!!!
有創建過aixing.png這個檔案再運行,但還是一樣。
uj5u.com熱心網友回復:
把aixing.png換成絕對路徑即可,如C:/aixing.png轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/28344.html
