Python產生中文詞雲圖(一):可指定特定的詞雲形狀和顏色。__Python

來源:互聯網
上載者:User
Python產生中文詞雲圖 什麼是詞雲。

首先,什麼是詞雲呢。詞雲又叫文字雲,是對文本資料中出現頻率較高的“關鍵詞”在視覺上的突出呈現,形成關鍵詞的渲染形成類似雲一樣的彩色圖片,從而一眼就可以領略文本資料的主要表達意思。
本文目的:

本篇部落客要介紹利用python的wordcloud包實現產生中文詞雲。可指定特定的詞雲形狀和顏色。
Python產生英文詞雲圖請參見部落格Python產生英文詞雲圖。 電腦環境要求:

安裝好Pycharm或者Anaconda。建議同時安裝Pycharm和Anaconda,並且將Pycharm配置好Anaconda,這樣就不用手動安裝wordcloud包和jieba分詞包等了,以後也不用安裝其他一些常用的包了。
安裝Pycharm和Anaconda請參見Pycharm中使用Anaconda。 代碼實現:

#coding=utf-8#Version:python3.6.0#添加自訂分詞import jiebafrom os import path  #用來擷取文檔的路徑#詞雲from PIL import Imageimport numpy as  npimport matplotlib.pyplot as plt#詞雲產生工具from wordcloud import WordCloud,ImageColorGenerator#需要對中文進行處理import matplotlib.font_manager as fm#背景圖bg=np.array(Image.open("tuoyuan.jpg"))#擷取當前的專案檔加的路徑d=path.dirname(__file__) #讀取停用詞表stopwords_path='stopwords.txt'#添加需要自定以的分詞# jieba.add_word("葉文潔")#讀取要分析的文本text_path="ziranyuyan.txt"#讀取要分析的文本,讀取格式text=open(path.join(d,text_path),encoding="utf8").read()#定義個函數式用於分詞def jiebaclearText(text):    #定義一個空的列表,將去除的停用詞的分詞儲存    mywordList=[]    #進行分詞    seg_list=jieba.cut(text,cut_all=False)    #將一個generator的內容用/串連    listStr='/'.join(seg_list)    #開啟停用詞表    f_stop=open(stopwords_path,encoding="utf8")    #讀取    try:        f_stop_text=f_stop.read()    finally:        f_stop.close()#關閉資源    #將停用詞格式化,用\n分開,返回一個列表    f_stop_seg_list=f_stop_text.split("\n")    #對預設模式分詞的進行遍曆,去除停用詞    for myword in listStr.split('/'):        #去除停用詞        if not(myword.split()) in f_stop_seg_list and len(myword.strip())>1:            mywordList.append(myword)    return ' '.join(mywordList)text1=jiebaclearText(text)#產生wc=WordCloud(        background_color="white", #設定背景為白色,預設為黑色        width=990,              #設定圖片的寬度        height=440,              #設定圖片的高度        margin=10,               #設定圖片的邊緣    max_font_size=50,    random_state=30,    font_path='C:/Windows/Fonts/simkai.ttf'   #中文處理,用系統內建的字型    ).generate(text1)#為圖片設定字型my_font=fm.FontProperties(fname='C:/Windows/Fonts/simkai.ttf')#產生背景圖片,基於彩色映像的顏色產生器image_colors=ImageColorGenerator(bg)#開始畫圖plt.imshow(wc)#為雲圖去掉座標軸plt.axis("off")#畫雲圖,顯示#儲存雲圖wc.to_file("tuoyuan3.png")
產生的中文詞雲圖:

參考資料:

1、基於python的詞雲產生(二)
2、Pycharm中使用Anaconda

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.