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

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

先片


詞雲圖

需要模板

pip install jiebapip install wordcloud

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

pip install scipypip install matplotlib

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

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

jieba是一款很恨很好用的中文分詞模板

jeiba中文文檔

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

先把我全部代碼貢獻上來

#-*-coding:utf-8—-*-import jieba.analysefrom wordcloud import WordCloud,ImageColorGeneratorfrom scipy.misc import imreadimport matplotlib.pyplot as pltclass 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)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.