首頁  >  文章  >  後端開發  >  如何使用python來實現個人化詞雲的範例程式碼分享

如何使用python來實現個人化詞雲的範例程式碼分享

黄舟
黄舟原創
2018-05-25 09:39:563110瀏覽

最近看到可視化的詞雲,看到網路上也很多這樣的工具,但是都不太完美,有些不支援中文,有的中文詞頻統計得莫名其妙、有的不支援自訂形狀、所有的都不能自訂顏色,於是網路上找了一下,決定用python繪製詞雲

先上圖片

##詞雲圖

需要模板

pip install jieba
pip install wordcloud

還需要

安裝#另外兩個東西這兩個我也不太懂借鑒百度寫上去的

pip install scipy
pip install matplotlib

因為用ubuntu系統所有沒有windows那麼麻煩,也沒有那麼多報錯


#看到好多人製作自己的詞云有沒有一絲絲的激動啊,有激動就要馬上去做,衝動才是第一個創造力。


jieba是一個很討厭很好用的中文分詞範本


#jeiba中文文件


至於wordcloud沒有中文文件不過咱會猜啊,英文不好咱們可以猜啊,查看原始碼猜。


先把我全部程式碼貢獻上來

#-*-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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn