溫馨提示×

溫馨提示×

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

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

R語言信息可視化實(shí)現(xiàn)文字云

發(fā)布時間:2021-07-23 09:51:08 來源:億速云 閱讀:148 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“R語言信息可視化實(shí)現(xiàn)文字云”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“R語言信息可視化實(shí)現(xiàn)文字云”吧!

R語言可以輕松處理信息可視化,并且很早就有專用的信息可視化包——WordCloud。

可是這個第一版的文字云工具,真的超級爛,不僅參數(shù)多,而且呈現(xiàn)效果爛,無法自定義形狀,顏色也不好搭配。

今天的主角是WordCloud2,該包的升級版(雖然我不知道這兩個包是否是同一個作者開發(fā)的)。

R語言配置環(huán)境:

R x64 3.31/Rstudio 0.99.903/wordcloud2 0.2.0

加載字符云包:

library(wordcloud2)

語法精要:

wordcloud2(data, size = 1, minSize = 0, gridSize =  0,  

    fontFamily = NULL, fontWeight = 'normal',  

    color = 'random-dark', backgroundColor = "white",  

    minRotation = -pi/4, maxRotation = pi/4, rotateRatio = 0.4,  

    shape = 'circle', ellipticity = 0.65, widgetsize = NULL) 

(1)data:詞云生成數(shù)據(jù),包含具體詞語以及頻率;

(2)size:字體大小,默認(rèn)為1,一般來說該值越小,生成的形狀輪廓越明顯;

(3)fontFamily:字體,如‘微軟雅黑’;

(4)fontWeight:字體粗細(xì),包含‘normal’,‘bold’以及‘600’;;

(5)color:字體顏色,可以選擇‘random-dark’以及‘random-light’,其實(shí)就是顏色色系;

(6)backgroundColor:背景顏色,支持R語言中的常用顏色,如‘gray’,‘blcak’,但是還支持不了更加具體的顏色選擇,如‘gray20’;

(7)minRontatin與maxRontatin:字體旋轉(zhuǎn)角度范圍的最小值以及最大值,選定后,字體會在該范圍內(nèi)隨機(jī)旋轉(zhuǎn);

(8)rotationRation:字體旋轉(zhuǎn)比例,如設(shè)定為1,則全部詞語都會發(fā)生旋轉(zhuǎn);

(9)shape:詞云形狀選擇,默認(rèn)是‘circle’,即圓形。還可以選擇‘cardioid’(蘋果形或心形),‘star’(星形),‘diamond’(鉆石),‘triangle-forward’(三角形),‘triangle’(三角形),‘pentagon’(五邊形);

導(dǎo)入數(shù)據(jù):

Data<-read.csv("F:\\數(shù)據(jù)可視化\\數(shù)據(jù)分析\\R\\R語言學(xué)習(xí)筆記\\文字云\\DemoFreq.csv")

數(shù)據(jù)是我在以前文章中曾經(jīng)分享過的關(guān)于文字云在線制作工具所用到的。

R語言信息可視化實(shí)現(xiàn)文字云

作圖語法:

eg1:  wordcloud2(Data, size = 1,shape = 'star') #最簡單的依據(jù),定義好數(shù)據(jù)集,文字大小,形狀。

R語言信息可視化實(shí)現(xiàn)文字云

而且該包所生成的文字云頁面是支持鼠標(biāo)懸浮顯示動態(tài)標(biāo)簽的。(鼠標(biāo)停留在對應(yīng)文字上,會顯示出該文字對應(yīng)的權(quán)重)。

R語言信息可視化實(shí)現(xiàn)文字云

eg2: wordcloud2(Data , size = 2, fontFamily = "微軟雅黑",color = "random-light", backgroundColor = "grey")

R語言信息可視化實(shí)現(xiàn)文字云

eg3: wordcloud2(Data, size = 2, minRotation = -pi/2, maxRotation = -pi/2)  

R語言信息可視化實(shí)現(xiàn)文字云

eg4: wordcloud2(Data, size = 2, fontFamily = "微軟雅黑",minRotation = -pi/6, maxRotation = -pi/6,rotateRatio = 1)

R語言信息可視化實(shí)現(xiàn)文字云

由于自己的數(shù)據(jù)集數(shù)量太少,完全展示不出來該包文字云的可視化效果精妙之處,以下將使用該包自帶的案例數(shù)據(jù)集進(jìn)行演示。

wordcloud2(demoFreq, size = 2, fontFamily = "微軟雅黑",  

           color = "random-light", backgroundColor = "grey")

R語言信息可視化實(shí)現(xiàn)文字云

wordcloud2(demoFreq, size = 2, fontFamily = "微軟雅黑",minRotation = -pi/6, maxRotation = -pi/6,rotateRatio = 1)

R語言信息可視化實(shí)現(xiàn)文字云

wordcloud2(demoFreq, size = 2, shape = 'star',fontFamily = "微軟雅黑",  color = "random-light", backgroundColor = "grey")

R語言信息可視化實(shí)現(xiàn)文字云

以上僅僅使用內(nèi)置的形狀或者默認(rèn)形狀做出的文字云,其實(shí)該包還支持自定義圖片形狀或者自定義文字形狀。

圖片形狀:

下載一張PNG或者JPEG格式的白色背景圖片(最好背景是白色的)。

將該圖片放在你的R語言安裝文件里的WordCloud2的案例圖片包中并命名(內(nèi)有一張黑色背景推特logo圖片)。

R語言信息可視化實(shí)現(xiàn)文字云

Emotion <-system.file("examples/Panda.png",package = "wordcloud2")  #調(diào)用圖片路徑

wordcloud2(demoFreq, figPath = Emotion, size = 1,color = "random-light")  #使用默認(rèn)案例數(shù)據(jù)集并結(jié)合阿寶的圖片呈現(xiàn)文字云效果

R語言信息可視化實(shí)現(xiàn)文字云

艾瑪,這個跟阿寶真的不是很像呀,這軟件,真坑。

那就再試一試人家軟件自帶的推特logo文字云圖的效果吧。

Emotion <-system.file("examples/t.png",package = "wordcloud2")  

wordcloud2(demoFreq, figPath = Emotion, size = 1,color = "random-light") 

R語言信息可視化實(shí)現(xiàn)文字云

這個倒還跟小鳥有點(diǎn)像。

文字形狀:

這里所謂的文字性狀其實(shí)是設(shè)定一個字符作為整體形狀同時將數(shù)據(jù)集中的文字以加權(quán)的形式映射到定義好的文字形狀中。

letterCloud(demoFreq, word = "LOVE", wordSize = 2,color = 'random-dark',backgroundColor = "snow") 

R語言信息可視化實(shí)現(xiàn)文字云

letterCloud(demoFreq, word = "中秋", wordSize = 2,color = 'random-dark',backgroundColor = "snow") 

R語言信息可視化實(shí)現(xiàn)文字云

好了,關(guān)于這個包就演示到這里,感興趣的童鞋可以自己研究研究。

感謝各位的閱讀,以上就是“R語言信息可視化實(shí)現(xiàn)文字云”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對R語言信息可視化實(shí)現(xiàn)文字云這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI