使用python繪制詞雲


最近在忙考試的事情,沒什么時間敲代碼,一個月也沒幾天看代碼,最近看到可視化的詞雲,看到網上也很多這樣的工具,

但是都不怎么完美,有些不支持中文,有的中文詞頻統計得莫名其妙、有的不支持自定義形狀、所有的都不能自定義顏色

於是網上找了一下,決定用python繪制詞雲,主要用到的是wordcloud庫,安裝只需要pip isntall wordcloud就行,

數據用的是酒店評論的數據,代碼如下:

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import pickle
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator
import jieba
# import codecs

# fin = codecs.open('HotelComments.txt',mode = 'r', encoding = 'utf-8')
# print fin.read()

# 第一次運行程序時將分好的詞存入文件
# text = ''
# with open('HotelComments.txt') as fin:
#     for line in fin.readlines():
#         line = line.strip('\n')
#         text += ' '.join(jieba.cut(line))
#         text += ' '
# fout = open('text.txt','wb')
# pickle.dump(text,fout)
# fout.close()

# 直接從文件讀取數據
fr = open('text.txt','rb')
text = pickle.load(fr)

backgroud_Image = plt.imread('girl.jpg')
wc = WordCloud( background_color = 'white',    # 設置背景顏色
                mask = backgroud_Image,        # 設置背景圖片
                max_words = 2000,            # 設置最大現實的字數
                stopwords = STOPWORDS,        # 設置停用詞
                font_path = 'C:/Users/Windows/fonts/msyh.ttf',# 設置字體格式,如不設置顯示不了中文
                max_font_size = 50,            # 設置字體最大值
                random_state = 30,            # 設置有多少種隨機生成狀態,即有多少種配色方案
                )
wc.generate(text)
image_colors = ImageColorGenerator(backgroud_Image)
wc.recolor(color_func = image_colors)
plt.imshow(wc)
plt.axis('off')
plt.show()

效果圖:

自定義詞雲形狀:

 

參考博客:

http://blog.csdn.net/tanzuozhev/article/details/50789226

http://blog.csdn.net/qq_16912257/article/details/52458515


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM