最近看到可視化的詞雲,看到網路上也很多這樣的工具,但是都不太完美,有些不支援中文,有的中文詞頻統計得莫名其妙、有的不支援自訂形狀、所有的都不能自訂顏色,於是網路上找了一下,決定用python繪製詞雲
先上圖片
##詞雲圖
pip install jieba pip install wordcloud
pip install scipy pip install matplotlib
#-*-coding:utf-8—-*- import jieba.analyse from wordcloud import WordCloud,ImageColorGenerator from scipy.misc import imread import matplotlib.pyplot as plt class wc: def init(self,txt_file,img_file,font_file): self.f = open(txt_file,'r') self.txt = self.f.read() self.f.close() self.tags = jieba.analyse.extract_tags(self.txt,topK=100) #topK说白了就是返回几个关键词 self.text = ' '.join(self.tags) #把分词链接起来,加空格因为英文靠空格分词 self.img = imread(img_file) self.wc = WordCloud(font_path=font_file,background_color='white',max_words=100,mask=self.img,max_font_size=80) ###直接在这里进行猜### #font_path指的是字体文件路径,因为wordcloud自带的字体不支持中文所以我们要指定一个字体文件,否者输出的图片全是框框 #background_color 默认是黑色 我设置成白色 #max_words最大显示的词数 #mask 背景图片 #max_font_size 最大字体字号 self.word_cloud = self.wc.generate(self.text) def show_wc(self): #img_color = ImageColorGenerator(self.img) plt.imshow(self.word_cloud) #可以通过 plt.imshow(self.wc.recolor(color_func=img_color))使图片颜色跟字体颜色一样 plt.axis("off") plt.show() if name=='main': mywc = wc('sanwen.txt','out.png','font.ttc') mywc.show_wc()
#使用wc.recolor(color_func=img_color)
以上是如何使用python來實現個人化詞雲的範例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!