用wordcloud做一张简单词云图
生活随笔
收集整理的這篇文章主要介紹了
用wordcloud做一张简单词云图
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一步,生成一張最簡單的詞云圖
1 from wordcloud import WordCloud
2 import matplotlib.pyplot as plt
3 #讀取一個文本
4 txt = open('1.txt',encoding='utf-8').read()
5 #創建一個wordcloud對象
6 wc = WordCloud().generate(txt)
7 plt.imshow(wc)
8 plt.axis("off")#影藏坐標
9 plt.show()#將圖片展示出來
Ctrl點擊WordCloud()查看源代碼
可以看到,里面有很多參數可以使用
這里我們用幾個常用的
wc = WordCloud(background_color='white',scale=2,width=400,height=600,max_words=200,mask=None).generate(txt)
分別為設置背景色,scale可以理解為清晰度,越大圖片越清晰,處理時間越長,width和height設置寬高,mask代表蒙版,也可以理解為貼圖,我們后面會用到
運行結果如圖
接下來我們來嘗試制作中文的詞云圖,wordcloud默認是不支持中文的,所有我們需要導入中文字體,否在會出現亂碼
這時,我們在wordcloud中加入font_path="你字體的路徑" 就可以解決 找不到就網上下一個
當然這個是我本身就已經分詞分好了的情況,不然我們得用jieba庫來分詞,也很簡單,加一段這個
1 word = jieba.lcut(text) 2 text =''.join(word)
這樣的詞云圖看上去還是很low對吧,這時我們需要用圖片來生成好看的詞云圖
1 rom wordcloud import WordCloud
2 import matplotlib.pyplot as plt
3 from PIL import Image
4 import numpy as np
5 #讀取一個文本
6 text = open('1.txt',encoding='utf-8').read()
7 #創建一個wordcloud對象
8 image = np.array(Image.open("ai.png"))
9 wc = WordCloud(font_path="字體.ttc",#設置字體,默認不支持中文
10 background_color='white',#設置背景色為空時背景透明色
11 # max_font_size=400, #最大字號
12 # min_font_size=100,#最小字號
13 max_words=3000,#最大詞數
14 mask=image,
15 scale=2,
16 width=800,
17 height=500,#如果mask非空,則width和height將被忽略
18 #random_state=10#設置隨機數
19 ).generate(text=text)
20 plt.imshow(wc)
21 plt.axis("off")#影藏坐標
22 #wc.to_file("wc.png")#保存圖片
23 plt.show()
有幾個坑講一下吧,文本格式看清楚是什么有可能是ANSI等,那就相應改一下,保存的話用to_file()清晰度會好一些
總結
以上是生活随笔為你收集整理的用wordcloud做一张简单词云图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汉堡包
- 下一篇: 【电脑使用经验】怎么查看无线网络中电脑的