這篇文章主要是教大家如何制作一個(gè)自定義個(gè)性化詞云圖,具體要求如下:
1.??? 文本內(nèi)容使用文件content.txt的內(nèi)容。如下圖所示:
2.??? 字體任意選取。這里我選擇的是極影毀片輝宋字體
?
3.??? 指定詞云形狀為文件222.png。如下圖所示:
?
4.??? 設(shè)置文字顏色以背景圖片色為參考。
5.??? 指定“的”、“了”、“就”為詞云排除詞。
6.??? 將制作好的詞云保存為ciyun.png文件。
那么以上要求如何進(jìn)行實(shí)現(xiàn)呢?接下來(lái)讓我們用6步來(lái)搞定它!
第一步:安裝相關(guān)庫(kù)
import jieba
from wordcloud import WordCloud
from wordcloud import ImageColorGenerator
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image # Image模塊是在Python PIL圖像處理常用的模塊
第二步:圖像輪廓設(shè)定
picture = Image.open("E:\數(shù)據(jù)可視化\文本可視化\\222.png") # 打開(kāi)圖片路徑,形成輪廓
shape = np.array(picture) # 圖像輪廓轉(zhuǎn)換為數(shù)組
image_colors = ImageColorGenerator(shape) # 提取圖片色彩
第三步:文本設(shè)定
with open("E:\數(shù)據(jù)可視化\文本可視化\content.txt", 'r', encoding='utf-8') as f:
text = f.read() # 設(shè)置輸入為中文字符
cut_text = " ".join(jieba.cut(text)) # 使用jieba全模式進(jìn)行中文分詞
第四步:設(shè)置停用詞
# 設(shè)置停用詞
stop_words = ['的', '了', '就']
ciyun_words = ''
# 經(jīng)過(guò)過(guò)濾后的詞
for word in cut_text:
if word not in stop_words:
ciyun_words += word
第五步:詞云圖參數(shù)設(shè)定
cloud = WordCloud(
mask=shape, # 圖片背景
font_path="E:\數(shù)據(jù)可視化\文本可視化\ziti.ttf",
background_color="white",
max_words=4000,
max_font_size=100
).generate(ciyun_words) # 選定的繪制詞云圖的文本
第六步:繪制與保存
plt.figure(figsize=[10, 10])
plt.imshow(cloud.recolor(color_func=image_colors))
plt.axis('off')
# cloud.to_file("ciyun.png")
plt.savefig('ciyun.png')
最終結(jié)果:
最終運(yùn)行完的詞云圖就展現(xiàn)出來(lái)啦!是不是很簡(jiǎn)單呢!如果有問(wèn)題歡迎大家留言,我們一起討論!
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-542019.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-542019.html
到了這里,關(guān)于Python 數(shù)據(jù)可視化-文本可視化(詞云圖)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!