中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Python和WordCloud繪制詞云的實現方法

發布時間:2021-04-25 10:58:16 來源:億速云 閱讀:238 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關怎么使用Python和WordCloud繪制詞云的實現方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Python的優點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。

環境及模塊:

  • Win7 64位

  • Python 3.6.4

  • WordCloud 1.5.0

  • Pillow 5.0.0

  • Jieba 0.39

目標:

繪制安徽省2018年某些科技項目的詞云,直觀展示熱點。

思路:

先提取項目的名稱,再用Jieba分詞后提取詞匯;過濾掉“研發”、“系列”等無意義的詞;最后用WordCloud 繪制詞云。

擴展:

詞云默認是矩形的,本代碼采用圖片作為蒙版,產生異形詞云圖。這里用的圖片是安徽省地圖。

秘笈:

用網上的常規方法繪制的詞云,字體有點模糊,秘笈在最后點明。

正式開始,Show you the code:

import numpy as np
from PIL import Image
import re
import jieba
from wordcloud import WordCloud,ImageColorGenerator,STOPWORDS
import matplotlib.pyplot as plt
# http://www.cnblogs.com/hatemath/
# 打開存放項目名稱的txt文件
with open('content.txt','r',encoding='utf-8') as f:
  word= (f.read())
  f.close()

# 圖片模板和字體
image=np.array(Image.open('ditu.jpg')) 
font=r'C:\\Windows\\fonts\\msyh.ttf' 

# 去掉英文,保留中文 
resultword=re.sub("[A-Za-z0-9\[\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\'\,\[\]\.\<\>\/\?\~\。\@\#\\\&\*\%]", "",word) 
wordlist_after_jieba = jieba.cut(resultword) 
wl_space_split = " ".join(wordlist_after_jieba) 

# 設置停用詞 
sw = set(STOPWORDS) 
sw.add("研發")
sw.add("系列")
sw.add("這里不多寫了,根據自己情況添加")

# 關鍵一步
my_wordcloud = WordCloud(scale=4,font_path=font,mask=image,stopwords=sw,background_color='white',
             max_words = 100,max_font_size = 60,random_state=20).generate(wl_space_split) 

#顯示生成的詞云 
plt.imshow(my_wordcloud)
plt.axis("off") 
plt.show() 

#保存生成的圖片
my_wordcloud.to_file('result.jpg')

其中 ditu.jpg 為安徽省輪廓圖片:

怎么使用Python和WordCloud繪制詞云的實現方法

運行結果:

怎么使用Python和WordCloud繪制詞云的實現方法

可以看到,智能設備、施工工法、系統平臺、電纜、機器人等都是出現較多的詞匯。

最后是秘笈揭曉時間:

為什么我這張圖如此清晰?打開原圖可以看到,這圖的分辨率是1800*2500。你用網上的大多數代碼,最后生成的圖,尺寸很小,上面字跡邊緣模糊。

關鍵在于調用WordCloud時的一個參數,回放一下代碼:

# 關鍵一步
my_wordcloud = WordCloud(scale=4,font_path=font,mask=image,stopwords=sw,background_color='white',
max_words = 100,max_font_size = 60,random_state=20).generate(wl_space_split)

第一個參數我寫的是 scale=4,這個數值越大,產生的圖片分辨率越高,字跡越清晰。你可以調到64試試,我希望你的電腦足夠快 /笑哭

關于“怎么使用Python和WordCloud繪制詞云的實現方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

康马县| 昌黎县| 三门峡市| 普洱| 普定县| 东明县| 内丘县| 陇南市| 唐河县| 秦皇岛市| 来宾市| 南通市| 红原县| 双辽市| 隆安县| 宜川县| 宜兴市| 连平县| 安顺市| 勃利县| 寿宁县| 茶陵县| 枝江市| 什邡市| 北流市| 乐昌市| 新乡县| 西盟| 三穗县| 隆昌县| 进贤县| 无极县| 古田县| 兰考县| 宝清县| 灵武市| 临漳县| 陆川县| 孟连| 耒阳市| 南开区|