Python視覺化-generate_from_frequencies給定詞頻畫詞雲圖(WordCloud)
詞雲圖是根據詞出現的頻率生成詞雲,詞的字型大小表現了其頻率大小。
〇、碎碎念
用wc.generate(text)直接生成詞頻的方法使用很多,所以不再贅述。
但是對於根據generate_from_frequencies()給定詞頻如何畫詞雲圖的資料找了很久,下面只講這種方法。
generate_from_frequencies適用於我已知詞及其對應的詞頻是多少,不需要自動生成的情況下。
官方文件說generate_from_frequencies函式的引數是array of tuple,但是我試了很久都不行,最後發現居然應該是dict 字典形式!
即形如:{ word1: fre1, word2: fre2, word3: fre3,......, wordn: fren }
注意詞雲wordcloud的中文顯示,需要特殊處理,在網上看了不少是說加字型路徑之類的方法我試了都不行,最後只好採用改變編碼的形式才解決好Σ(っ°Д°;)っ:
name[i] = name[i].decode('gb2312')
( • ̀ω•́ )✧還有,示例詞雲的輪廓背景圖由back.jpg給出,如下圖:
一、資料檔案準備
1、price.csv
name,val
南京,3.19
徐州 ,3.18
淮安,3.16
鹽城,3.15
宿遷,3.14
泰州,3.14
揚州,3.13
南通,3.13
連雲港 ,3.14
鎮江,3.15
無錫,3.14
蘇州,3.16
常州,3.17
第一列是城市名,第二列是詞頻數值,
csv檔案本質上就是以逗號(,)分隔開的txt檔案,所以用excel開啟形式為:
二、匯入模組包
可參考Windows下安裝Python、matplotlib包 及相關
https://blog.csdn.net/mikasa3/article/details/78942650
1、numpy
2、pandas
3、wordcloud
4、matplotlib
三、完整程式碼
如下:
import random
import numpy as np
import pandas as pd
from pyecharts import WordCloud
import matplotlib.pyplot as plt
from PIL import Image,ImageSequence
from wordcloud import WordCloud,ImageColorGenerator
def DrawWordcloud(read_name):
image = Image.open('back.jpg')#作為背景形狀的圖
graph = np.array(image)
#引數分別是指定字型、背景顏色、最大的詞的大小、使用給定圖作為背景形狀
wc = WordCloud(font_path = 'C:\\windows\\Fonts\\simhei.ttf', background_color = 'White', max_words = 50, mask = graph)
fp = pd.read_csv(read_name)#讀取詞頻檔案
name = list(fp.name)#詞
value = fp.val#詞的頻率
for i in range(len(name)):
name[i] = str(name[i])
#注意因為要顯示中文,所以需要轉碼
name[i] = name[i].decode('gb2312')
dic = dict(zip(name, value))#詞頻以字典形式儲存
wc.generate_from_frequencies(dic)#根據給定詞頻生成詞雲
image_color = ImageColorGenerator(graph)
plt.imshow(wc)
plt.axis("off")#不顯示座標軸
plt.show()
wc.to_file('Wordcloud.png')#儲存的圖片命名為Wordcloud.png
if __name__=='__main__':
DrawWordcloud("Price.csv")
四、執行結果
1、詞雲圖
相關文章
- 已知詞頻生成詞雲圖(資料庫到生成詞雲)--generate_from_frequencies(WordCloud)資料庫Cloud
- Python詞雲庫wordcloud中文顯示問題詳解PythonCloud
- python分詞和生成詞雲圖Python分詞
- JB的Python之旅-資料分析篇-jieba&wordcloud(詞雲)PythonJiebaCloud
- Python文字處理NLP:分詞與詞雲圖Python分詞
- matplotlib 圖示 中文亂碼, 與 wordcloud 詞雲圖 中文亂碼 解決方法Cloud
- Python pyecharts繪製詞雲圖PythonEcharts
- 如何利用Python詞雲和wordart視覺化工具對朋友圈資料進行視覺化展示PythonDart視覺化
- python如何統計詞頻Python
- 如何用python建立詞雲圖片Python
- 詞語詞頻統計
- Python 詞雲系列Python
- python實現詞頻統計Python
- 用WordCloud詞雲+LDA主題模型,帶你讀一讀《芳華》(python實現)CloudLDA模型Python
- Echarts製作時變資料視覺化+2024 QQ群聊記錄製作詞雲圖Echarts視覺化
- 【爬蟲+情感判定+Top10高頻詞+詞雲圖】"王心凌"熱門彈幕python輿情分析爬蟲Python
- 【爬蟲+情感判定+Top10高頻詞+詞雲圖】“劉畊巨集“熱門彈幕python輿情分析爬蟲Python
- 【爬蟲+情感判定+Top10高頻詞+詞雲圖】“谷愛凌”熱門彈幕python輿情分析爬蟲Python
- python 計算txt文字詞頻率Python
- 詞頻統計
- python讀取txt文字資料進行分詞並生成詞雲圖片Python分詞
- 如何用Python做詞雲?Python
- python -wordcloudan雲詞安裝PythonCloud
- python TK庫 統計word文件單詞詞頻程式 UI選擇文件PythonUI
- Python繪圖與視覺化Python繪圖視覺化
- Python視覺化-氣泡圖Python視覺化
- Python視覺化-折線圖Python視覺化
- Python視覺化-地圖染色Python視覺化地圖
- 詞頻統計mapreduce
- 如何用Python做詞雲?(基礎篇視訊教程)Python
- Python統計四六級考試的詞頻Python
- Python自定義詞雲圖形狀和文字顏色Python
- 如何用Python 製作詞雲-對1000首古詩做詞雲分析Python
- Python視覺化(1):折線圖Python視覺化
- Java、Scala、Python ☞ 本地WordCount詞頻統計對比JavaPython
- 文字挖掘之語料庫、分詞、詞頻統計分詞
- Python如何生成詞雲(詳細分析)Python
- Python視覺化圖系列(1)-----jupyter notebookPython視覺化