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

歡迎訪問 生活随笔!

生活随笔

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

综合教程

用wordcloud做一张简单词云图

發布時間:2023/12/13 综合教程 45 生活家
生活随笔 收集整理的這篇文章主要介紹了 用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做一张简单词云图的全部內容,希望文章能夠幫你解決所遇到的問題。

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