R語(yǔ)言之?dāng)?shù)據(jù)可視化---D3可交互圖表及流程圖

wordcloud

DiagrammeR包的github鏈接地址:https://github.com/juba/scatterD3
幾個(gè)樣例demo:http://xwj.565tech.com/jianshu/scatterR/scatter1.html
http://xwj.565tech.com/jianshu/scatterR/scatter2.html
http://xwj.565tech.com/jianshu/scatterR/scatter4.html
http://xwj.565tech.com/jianshu/scatterR/scatter5.html

一.安裝方式:

install.packages("scatterD3")

devtools::install_github("juba/scatterD3")

二.使用方法:

使用形式與前面介紹過(guò)的圖表可視化類似,這個(gè)包只是提供了一些d3的效果,能夠使你的圖表產(chǎn)生縮放和其他一些效果

library(scatterD3)
scatterD3(x = mtcars$wt, y = mtcars$mpg)

##point_size:點(diǎn)的大小,point_opacity:點(diǎn)的透明度
scatterD3(data = mtcars, x = wt, y = mpg, 
          point_size = 175, point_opacity = 0.3, fixed = TRUE,
          colors = "#000")

##hover_size:鼠標(biāo)放上去后點(diǎn)的放大倍數(shù),
scatterD3(data = mtcars, x = wt, y = mpg, 
          point_size = 100, point_opacity = 0.5,
          hover_size = 6, hover_opacity = 1)

#可以很方便的改變變量名稱
mtcars$cyl_fac <- paste(mtcars$cyl, "willnight")
scatterD3(data = mtcars, x = cyl_fac, y = mpg,point_size=60,hover_size = 4)

#給點(diǎn)賦予文字標(biāo)簽

mtcars$names <- rownames(mtcars)
scatterD3(data = mtcars, x = wt, y = mpg, lab = names, labels_size = 15,point_size=60,hover_size = 4)
##利用顏色形狀處理分類變量
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl, symbol_var = gear)


#lasso屬性設(shè)置為TRUE后,用戶可以自由選取區(qū)域中的點(diǎn)
mtcars$names <- rownames(mtcars)
scatterD3(data = mtcars, x = wt, y = mpg, lab = names, lasso = TRUE)
1.png

2.png

3.png

4.png

5.png

6.png

基本操作的話就這些,一些詳細(xì)的操作的話可以去github上去看一下。作為R語(yǔ)言可視化的最后一篇文章,本篇后部分再為大家粗略介紹一些可視化包。

  • DiagrammeR包:方便實(shí)現(xiàn)流程圖
##griViz函數(shù)包裹,里面點(diǎn)(node)很方便可以列舉,線(edge)通過(guò)箭頭指向[ 里可以設(shè)置屬性值]
grViz("
digraph demo{
node[shape=box
penwidth=2
]
A;B;C;D;E;F
node[shape=circle
1;2;3;4;5;6;7;8

edge[arrowhead=diamond]
A->1;B->2;C->3,D->4;E->5;F->6;
D->8[label='will']

}
      ")

diagrammerR.png
#按著思路寫(xiě)就行,箭頭指指就行
DiagrammeR("
sequenceDiagram;
customer->>web:ask Api;
web->>customer:有token么;
customer->>web:token給你;
web->>database:這個(gè)用戶token匹配么;
alt 如果匹配
database->>web: 匹配的;
web->>database:拿數(shù)據(jù);
database->>web:數(shù)據(jù)給你;
web->>customer:數(shù)據(jù)給你;
else 不匹配
database->>web:不匹配;
web->>customer:error;
end
           ")
diagrammeR2.png

更多詳細(xì)用法:http://rich-iannone.github.io/DiagrammeR/

  • wordcloud2包:繪制詞云
    常用參數(shù):
    (1)data:詞云生成數(shù)據(jù),包含具體詞語(yǔ)以及頻率;
    (2)size:字體大小,默認(rèn)為1,一般來(lái)說(shuō)該值越小,生成的形狀輪廓越明顯;
    (3)fontFamily:字體,如‘微軟雅黑’;
    (4)fontWeight:字體粗細(xì),包含‘normal’,‘bold’以及‘600’;;
    (5)color:字體顏色,可以選擇‘random-dark’以及‘random-light’,其實(shí)就是顏色色系;
    (6)backgroundColor:背景顏色,支持R語(yǔ)言中的常用顏色,如‘gray’,‘blcak’,但是還支持不了更加具體的顏色選擇,如‘gray20’;
    (7)minRontatin與maxRontatin:字體旋轉(zhuǎn)角度范圍的最小值以及最大值,選定后,字體會(huì)在該范圍內(nèi)隨機(jī)旋轉(zhuǎn);
    (8)rotationRation:字體旋轉(zhuǎn)比例,如設(shè)定為1,則全部詞語(yǔ)都會(huì)發(fā)生旋轉(zhuǎn);
    (9)shape:詞云形狀選擇,默認(rèn)是‘circle’,即圓形。還可以選擇‘cardioid’(蘋(píng)果形或心形),‘star’(星形),‘diamond’(鉆石),‘triangle-forward’(三角形),‘triangle’(三角形),‘pentagon’(五邊形);
#1.繪制簡(jiǎn)單的圖形很方便,使用內(nèi)置詞頻數(shù)據(jù)
wordcloud2(demoFreq,size = 0.7,shape = 'star')
wordcloud2(demoFreq,size = 0.7,shape = 'cardioid')
#2.繪制自定義的字母或漢字lettercloud,繪制中文字體時(shí)不能缺失letterFont屬性
letterCloud(demoFreq,word = "X",wordSize = 1)
letterCloud(demoFreq,word = "簡(jiǎn)",letterFont = "楷體")
#3.可以在圖片上繪制詞云,但圖片要求是有兩種色差
wordcloud2(demoFreq,figPath = "/Users/jiang/Desktop/cat.jpg",size = 1)
  
wc-1.png

wc-2.png

wc-3.png

wc-4.png

wordcloud

cat.jpg

作為繪制詞云來(lái)講這個(gè)包還是非常有意思的,那可視化方面的話暫時(shí)先介紹這些,以后如果有其他好玩的可視化包也會(huì)分享出來(lái),接下來(lái)的主題會(huì)進(jìn)入具體數(shù)據(jù)分析階段!?。?!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容