python的wordcloud庫生成詞云包功能強大,還可以自定義.
官網:
github:
pip install wordcloud -i
wordcloud中主要有三個類:
wordcloud([font_path, width, height, …])
生成和繪圖的詞云物件
imagecolorgenerator(image[, default_color])
基於彩色影象的顏色生成器
random_color_func([word, font_size, …])
隨機色調顏色生成
第乙個類:
class wordcloud.wordcloud(font_path=none, width=400, height=200, margin=2,
ranks_only=none, prefer_horizontal=0.9, mask=none, scale=1, color_func=none,
max_words=200, min_font_size=4, stopwords=none, random_state=none,
background_color='black', max_font_size=none, font_step=1, mode='rgb',
relative_scaling='auto', regexp=none, collocations=true, colormap=none,
normalize_plurals=true, contour_width=0, contour_color='black', repeat=false)
主要引數:
fit_words(frequencies)
根據單詞的頻率生成詞云
generate(text)
根據文字生成詞云
generate_from_frequencies(frequencies[, …])
根據單詞的頻率生成詞云
generate_from_text(text)
根據文字生成詞云
process_text(text)
將長文字分詞並去除遮蔽詞
recolor([random_state, color_func, colormap])
改變現有布局的顏色
to_array()
轉化為 numpy array.
to_file(filename)
輸出為image檔案
第二個類:
classwordcloud.imagecolorgenerator(image, default_color=none)
基於rgb影象生成顏色。將使用彩色影象中包圍矩形的平均顏色對單詞進行著色。構造之後,該物件充當可呼叫物件,可以作為color_func傳遞給單詞雲建構函式或recolor方法。
image:用於生成單詞顏色的影象
例子:
import jieba
import wordcloud
import matplotlib.pyplot as plt
class jiujie(object):
"""將九界天君**做成詞云
"""def __init__(self):
self.my_txt = ''
self.words =
def cut_words(self):
"""函式說明:對九界天君的內容進行分詞
"""# 讀取文字內容
with open('九界天君.txt', 'r', encoding='utf-8') as f:
self.my_txt = f.read()
# 用jieba分詞
words_list = jieba.lcut(self.my_txt, cut_all=false)
self.words = [word for word in words_list if len(word) > 1]
self.generate_wordcloud()
def generate_wordcloud(self):
"""函式說明:對分詞生成詞云
"""fig, axes = plt.subplots(1, 2)
# 讀取image
# 生成wordcloud 物件
word_cloud = wordcloud.wordcloud(background_color='white', mask=background_img,scale=2 )
# 將self.words單詞 生成詞云words_img
words_img = word_cloud.generate(' '.join(self.words))
# 直接顯示(顏色隨機分配)
axes[0].imshow(words_img)
# 基於background_img生成顏色
img_color = wordcloud.imagecolorgenerator(background_img)
# 對words_img 進行顏色重構(單詞顏色為背景顏色)
axes[1].imshow(words_img.recolor(color_func=img_color))
# 去掉座標軸
for ax in axes:
ax.set_axis_off()
# 顯示詞云
plt.show()
if __name__ == '__main__':
w = jiujie()
w.cut_words()
原:
生成結果:
基於python的爬蟲
本次初學,參考的資料見 功能主要是抓取韓寒的部落格內容,以及儲存 到 hanhan的資料夾中,執行環境實在linux下的。見 具體 如何 usr bin env python coding utf 8 import urllib import time url 60 con urllib.urlop...
基於python的opencv教程
第一次寫部落格,學習是要有輸入與輸出的,所謂教學相長。所以我想試著自己寫乙份教程,算是對自己的學習總結吧,部落格的排版比較直男,請湊合看吧。首先建議的ide是pycharm,opencv的庫直接pip安裝就好,最好大家有一定的python基礎。第一部分是關於圖象讀取和儲存。import cv2imp...
基於python的基本函式
什麼是函式?函式就是將一段 寫在一起,如果需要使用,直接呼叫即可 就是封裝一段功能 的 塊,這段 可以被多次使用 def define 定義 函式名稱命名規範 單詞全部小寫,多個單詞之間用 連線,函式名要和實現 的功能有關係,做到見名知意 def 函式名 引數列表 函式功能 def eat prin...