1. 程式人生 > 程式設計 >python根據文字生成詞雲圖程式碼例項

python根據文字生成詞雲圖程式碼例項

這篇文章主要介紹了python根據文字生成詞雲圖程式碼例項,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

效果

程式碼

from wordcloud import WordCloud
import codecs
import jieba
#import jieba.analyse as analyse
from scipy.misc import imread
import os
from os import path
import matplotlib.pyplot as plt
from PIL import Image,ImageDraw,ImageFont


# 繪製詞雲
def draw_wordcloud():
  #讀入一個txt檔案
  comment_text = open('data.txt','r',encoding='utf-8').read()
  #結巴分詞,生成字串,如果不通過分詞,無法直接生成正確的中文詞雲
  cut_text = " ".join(jieba.cut(comment_text))
  d = path.dirname(__file__) # 當前檔案資料夾所在目錄
  color_mask = imread("bilibili.jpg") # 讀取背景圖片
  cloud = WordCloud(
    #設定字型,不指定就會出現亂碼
    font_path="C:/Windows/Fonts/STXINGKA.TTF",#font_path=path.join(d,'simsun.ttc'),#設定背景色
    background_color='white',#詞雲形狀
    mask=color_mask,#允許最大詞彙
    max_words=2000,#最大號字型
    max_font_size=100
  )
  word_cloud = cloud.generate(cut_text) # 產生詞雲
  word_cloud.to_file("bilibilirankword.jpg") #儲存圖片
  # 顯示詞雲圖片
  plt.imshow(word_cloud)
  plt.axis('off')
  plt.show()

if __name__ == '__main__':
  draw_wordcloud()

步驟以及注意點

1.首先要匯入對應的庫

2.文字會根據背景圖而分佈

3.背景圖的選擇對於最終效果很重要,選一個儘量大一點的背景圖,這個背景圖隨便找就好,任何圖片都可以不過最好大一些,圖案不太複雜

4.如果字號小的話,可以調整字型,或者換個背景圖

5.font_path要使用自己的字型庫,不過你的電腦是windows的話,應該不用改,用我這個就可以,除此之外呢,這個字型如果是別的的話,可能會出現

中文不能產生詞雲圖的現象,總之用我的就好了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。