日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

词云(WordCloud)

發布時間:2024/6/21 综合教程 61 生活家
生活随笔 收集整理的這篇文章主要介紹了 词云(WordCloud) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WordCloud的參數:

font_path:可用于指定字體路徑
width:詞云的寬度,默認為 400;
height:詞云的?度,默認為 200;
mask:蒙版,可?于定制詞云的形狀;

min_font_size:最?字號,默認為 4;
max_font_size:最?字號,默認為詞云的?度;
max_words:詞的最?數量,默認為 200;
stopwords:將被忽略的停?詞,若不指定則使?默認停?詞詞庫;
background_color:背景顏?,默認為 black;
mode:默認為RGB模式,如果為RGBA模式且background_color設 為 None,則背景將透明。

generate(str) 接受一個字符串

生成一個詞云只需要:

wc  = WordCloud().generate(text)
plt.imshow(wc, interpolation='bilinear')
# 打開文本
text = open(base_dir + 'constitution.txt').read()
# 生成對象
wc  = WordCloud().generate(text)

# 顯示
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

wc.to_file("默認樣式.png")

自定義字體

wc = WordCloud('Hiragino.ttf')

使用中文

# 分詞
text_new = " ".join(jieba.cut(text))
wc = WordCloud('Hiragino.ttf') # 不加字體會中文亂碼

使用蒙版,

透明背景: mode='RGBA', background_color=None

mask = np.array(Image.open("black_mask.png"))
wc = WordCloud(font_path='Hiragino.ttf', mode='RGBA', background_color=None, mask=mask, width=600, height=400)

使用圖片(蒙版)中的顏色

image_colors = ImageColorGenerator(mask)
wc.recolor(color_func=image_colors)

自定義顏色函數

# 顏色函數
def random_color(word, font_size, position, orientation, font_path, random_state):
	s = 'hsl(0, %d%%, %d%%)' % (random.randint(60, 80), random.randint(60, 80))
	return s
...

wc = WordCloud(color_func=random_color, font_path='Hiragino.ttf',mode='RGBA', background_color=None, mask=mask)

使用權重

# 提取關鍵詞和權重
freq = jieba.analyse.extract_tags(text_new, topK=200, withWeight=True)   # 列表
freq = {i[0]: i[1] for i in freq}    # 字典

mask = np.array(Image.open(f"{base_dir}color_mask.png"))
wc = WordCloud(font_path='Hiragino.ttf',mode='RGBA', background_color=None, mask=mask)
res = wc.generate_from_frequencies(freq)

也可以使用:

freq = nltk.FreqDist(word_text)
# wc.fit_words(freq)    # 然后再generate
wc.generate_from_frequencies(freq)

輸出

提供了四個輸出函數:

to_array(self):numpy數組格式
to_file(self, filename)
to_html(self):沒有實現
to_image(self):PIL圖像

依賴的包如下:

from wordcloud import WordCloud
from wordcloud import ImageColorGenerator
import matplotlib.pyplot as plt
import jieba
import jieba.analyse
from PIL import Image
import random
import numpy as np

總結

以上是生活随笔為你收集整理的词云(WordCloud)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。