如上所示,就是常見的詞云圖。
所謂詞云圖,又稱文字云,是通過對一個或多個關鍵詞進行重復的、字體大小顏色不一的、不規則的排列,使其看上去類似于某種形狀的圖片,是對文本中出現頻率較高的“關鍵詞”予以視覺化的展現。
詞云圖能過濾掉大量的低頻低質的文本信息,使得瀏覽者只要一眼掃過文本就可領略文本的主旨。
關鍵詞云圖生成器作為生成云圖的一種工具,簡化了制作過程。目前國內外有很多關鍵詞云圖在線生成器,普遍按月或按年收費,在付費時候盡量選擇可靠性強的。小編之前就遇到過付費后,沒多久網站就消失不見了。
那么如何才能自己來做詞云圖呢?有幾種常見方法
1、使用WordArtWordArt是國外網站,支持自定義字體、詞云形狀、顏色等,做出來的詞云圖酷炫、精美,但訪問時響應會比較緩慢。1.1 登錄網站WordArt.com1.2 點擊Words-Import words導入事先準備好的關鍵詞與其對應詞頻,或是直接在對話框中輸入相應關鍵詞。同時在頻數,顏色,角度,字體中進行設計,以實現預設效果。說明:
- Fonts:字體設置。該工具默認字體為英文,如果詞云內容為英文可以使用素材提供的字體,而涉及到中文內容時我們需要選擇自行添加字體或是選擇素材庫中的Noto Sans S Chinese(可以識別部分中文)。
- Shapes:設計詞云的形狀。可以選擇提供的素材庫中的形狀也可以選擇Add Image/Add Text來自定義形狀。這里選擇輸入數字“2020”并在選項卡中設計斜體、輪廓、字體、背景以及字體顏色,設計完成后單擊Add將形狀添加進來。
- Layout:內容布局。在該選項卡中,可以更改設計文字方向和布局排列方式,該工具提供了許多現成的組合方案,只需按需加以勾選即可。同時,在Words amount ,Density中也可以對填充內容進行設計。
- Style:詞云設計,主要涉及關鍵詞具體內容的編輯設計。通過參數調整,對背景以及底色進行編輯修改。
1.3 生成詞云:單擊Visualize,即可生成詞云圖并預覽效果。1.4 導出圖片:點擊DOWNLOAD (選擇圖片格式)即可下載詞云圖。2、借助開源軟件word-cloud是一款為 java 設計的云圖生成工具。目前該項目開源,地址在https://github.com/houbb/word-cloud
特性
極簡 api,一行代碼搞定一切
支持自定義云圖背景
支持中英文分詞,默認對用戶透明
支持停頓詞過濾,默認對用戶透明
支持各種用戶自定義配置
Maven引入
com.github.houbb
word-cloud
1.2.2
使用
WordCloudHelper.wordCloud("該作講述的是一個名為德特茅斯的衰落小鎮下掩埋著一個古老的廢棄王國,名叫圣巢。這個王國被瘟疫所侵蝕而廢棄,廢棄的原因則是因為名為輻光的光之古神,她可以通過思想來傳播瘟疫,被瘟疫侵蝕的蟲子都會被本能所支配,失去心智。\n" +
"這個王國的主人——蒼白之王,自然不會坐視不管,他在圣巢范圍之下的深淵,利用另一種遠古力量“虛空”可以壓制光明的特性,制造了容器一族。其中一位被選中的容器用來封印瘟疫,并被命名為空洞騎士。為了封印的穩固,白王尋找了三個守夢人來進一步鞏固封印,三位守夢人的名稱分別為守望者 - 盧瑞恩,導師 - 莫諾蒙,野獸 - 赫拉。但之后蒼白之王不知去向,不完美的容器的力量的也變得逐漸虛弱,最終被輻光控制。主角就要穿過圣巢的各地,在安息之地中,我們受到曾經輻光的信徒和眷族——飛蛾族唯一留下的族人的幫助,獲得了和輻光力量同源的夢之武器——夢之釘。夢之釘可以讀取生物內心的想法,并可以打破守夢人的保護,進入到其夢境之中殺死守夢人。殺死了三位守夢人并解開封印后,可選的結局有到達十字路里的黑卵神殿打敗空洞騎士或去到在“尋神者”更新中新加入的地點“神居”并挑戰圣巢萬神殿。");
添加背景
//以鯨魚的背景,可以讓文字以圖像的形式展現:
String imagePath = "backgrounds\\whale_small.png";
WordCloudHelper.wordCloud(text,"out_bg.png",imagePath);
效果如下3、使用python工具使用Python庫jieba,jieba是一個非常好用的中文工具,是以分詞起家的,但是功能比分詞要強大很多。jieba分詞有三種模式:
jieba.cut返回的結構都是一個可迭代的 generator,可以使用 for 循環來獲得分詞后得到的每一個詞語(unicode)。
jieba.cut方法接受三個輸入參數:
需要分詞的字符串
cut_all 參數用來控制是否采用全模式,一般情況下,cut_all為False
HMM 參數用來控制是否使用 HMM 模型
示例:使用“Star.jpg”作為模板圖片和“myword.txt”文本制作詞云圖
Star.jpg
myword.txt
略
詳細代碼
###導入庫
#導入wordcloud詞云制作第三方庫,并導入WordCloud.ImageColorGenerator兩個模塊 from wordcloud import WordCloud.imageColorGenerator
#導入imageio庫
importimageio
# 導入jieba庫
importjieba
### 圖片處理
# 用imageio庫中的imread函數讀取本地圖片
testmg=imageio.imread("Star.jpg")
# 調用wordcloud庫中的ImageColorGenerator函數
image_color=ImageColorGenerator(testimg)
# 給WordCloud函數傳入參數設置圖片相關屬性
test=WordCloud(mask=testimg,#將testng的值賦值給mask用作遮罩圖
width=500,#輸出圖片寬度為500px
height=500,#輸出圖片高度為500px
background_color="white",#輸出圖片背景顏色為白色
font-path="msyh.ttc"#字體路徑為微軟雅黑
scale=15)#畫布放大比例為15
###文本處理
# 引用外部文件,并用utf-8的編碼方式
txt=open("myword.txt",encoding="utf-8").read()
# 調用詞云對象test的generate方法,導入文本
# 使用jieba分詞的精確模式為文本進行分詞
test=test.recolor(color_func=image_color)
###輸出處理
#將生成的詞云保存為result.png圖片文件,保存到當前文件夾中
test.to_file("result.png")
效果圖
詞云圖不僅能用來突出關鍵詞,減少信息冗余,還能用于用戶圖像分析,快來試試吧。
-
云圖
+關注
關注
3文章
7瀏覽量
4480
發布評論請先 登錄
相關推薦
評論