感謝大家關(guān)注天山情報,走好數(shù)據(jù)之路
歡迎關(guān)注天山情報。我們是一個專注于商業(yè)智能BI、人工智能AI和大數(shù)據(jù)分析與挖掘的垂直社區(qū)。學習、問答、求職一站搞定!
對商業(yè)智能BI、大數(shù)據(jù)分析與挖掘、機器學習、python、R等數(shù)據(jù)領(lǐng)域感興趣的同學加微信:tstoutiao,邀請你加入數(shù)據(jù)愛好者交流群,數(shù)據(jù)愛好者都在這里。
閆濤:偽代碼農(nóng)民,R語言愛好者,熱愛開源。
個人博客:https://ytlogos.github.io
庫(ggplot2)
#使用數(shù)據(jù)集mtcars演示
ggplot(mtcars)+geom _ point(AES(wt,mpg),color="red")+geom_text(aes(wt,mpg,label = row name(mtcars)))+theme _ classic(base _ size = 16)
可以看到可視化效果不是很好。接下來看ggrepel的效果。Geom _ text _ repel()基于Geom_text()
庫(gg清退)
set.seed(42)
ggplot(mtcars)+geom _ point(AES(wt,mpg),color="red")+
geom _ text _ reject(AES(wt,mpg,label = row name(mtcars))+
主題_經(jīng)典(base_size = 16)
geom _ label _排斥()
Geom _ label _ repel()基于Geom_label(),它將標簽放在一個小框中
set.seed(42)
ggplot(mtcars)+geom _ point(AES(wt,mpg),color="grey ",size=5)+
geom _ label _ refuge(AES(wt,mpg,fill=factor(cyl),
label = row name(mtcars)),fontface="bold ",color="white ",
box.padding =單位(0.35,“行”),point.padding =單位(0.5,“行”),
segment . color = " grey 50 ")+theme _ classic(base _ size = 16)
參數(shù)
geom_text()的大部分參數(shù)適用于geom _ text _ repel(),但以下參數(shù)除外:
hjust
vjust
位置
檢查重疊(_ o)
Ggrepel包為geom _ text _ repel()和geom _ label _ repel()提供了唯一的參數(shù)設置:
線段顏色:連接點和標簽線段的顏色
線段大小:線段的厚度
線段α:線段的透明度
Box.padding:文本框周圍的填充
點。填充:點周圍的填充
箭頭:網(wǎng)格:箭頭提供的箭頭
強制:強制分散重疊的文本
Max.oter:最大迭代次數(shù)
微移_x/y:標簽起始位置在坐標軸上的移動距離
方向:標簽的方向可以是x、y或兩者兼有
這里有一個栗子來學習更多關(guān)于這些參數(shù)的圖形效果
set.seed(42)
ggplot(mtcars)+geom _ point(AES(wt,mpg,color=factor(cyl)),size=3)+
geom _ text _ refuge(AES(wt,mpg,color=factor(cyl),
label = row name(mtcars),angle=ifelse(mtcars$cyl==4,90,0)),
size=4,family="Times ",fontface="bold ",
box.padding =單位(0.5,“行”),point.padding =單位(1.6,“行”),
segment.color = "#cccccc ",segment.size = 0.5,
箭頭=箭頭(長度=單位(0.01,“npc”)),力= 1,最大iter = 3e3,
微移_x = ifelse(mtcars$cyl==6,2,0),微移_y = ifelse(mtcars$cyl==6,9,0))+
scale _ color _ discrete(name = " cyl ")+
scale _ x _ continuous(expand = c(0.5,0))+
scale _ y _ continuous(expand = c(0.25,0))+
主題_經(jīng)典(base_size = 16)
您也可以設置參數(shù)點。填充=無排斥
set.seed(42)
mtcars $標簽<。-row name(mtcars)
ggplot(mtcars,aes(wt,mpg,label=label))+
geom _ point(color = " red ")+geom _ text _ reject(point . padding = NA)+
主題_經(jīng)典(base_size = 16)
通過分配一些標簽空字符""來隱藏。
set.seed(42)
mtcars $標簽<。-row name(mtcars)
mtcars$label[1:15] <。- ""
ggplot(mtcars,aes(wt,mpg))+geom _ point(AES(color = factor(cyl)),size=2)+
geom _ text _ reject(AES(color = factor(cyl),size=hp,label=label),
point.padding = unit(0.25,“行”),box.padding = unit(0.25,“行”),
微移_y = 0.1)+主題_經(jīng)典(base_size = 16)
特定區(qū)域的控制標簽
通過設置參數(shù)xlim和ylim來限制標簽的位置
set.seed(42)
數(shù)據(jù)<。- mtcars
mu <。-平均值(數(shù)據(jù)$wt)
左<。-數(shù)據(jù)[數(shù)據(jù)$wt <。mu,]
右<。-數(shù)據(jù)[data$wt>。=mu,]
ggplot()+geom _ vline(xintercet = mu)+
geom_point(aes(wt,mpg),data=data)+
geom _ text _ refuge(data = left,aes(wt,mpg,label = row name(left),
color= "左半部分",xlim=c(NA,mu))+
geom _ text _ refuge(data = right,aes(wt,mpg,label = row name(right),
color = " Rigth half ",xlim=c(mu,NA))+theme _ classic(base _ size = 16)
通過控制參數(shù)方向來確定標簽是向左和向右移動還是向上和向下移動。默認值是兩者都有
set.seed(42)
#direction="x "左右移動
ggplot(mtcars)+
geom_point(aes(wt,mpg),color="red")+
geom _ text _ refuge(AES(wt,mpg,label=rownames(mtcars)),direction="x")+
theme _ classic(base _ size = 16)+xlim(1,6)
#direction="x "上下移動
ggplot(mtcars)+
geom_point(aes(wt,mpg),color="red")+
geom _ text _ refuge(AES(wt,mpg,label = row name(mtcars)),direction="y")+
theme _ classic(base _ size = 16)+xlim(1,6)
折線圖
set.seed(42)
ggplot(橙色,aes(年齡,周長,顏色=樹))+
geom_line()+
coord _ cartesian(xlim = c(min(Orange $ age),max(Orange$age)+90))+
geom _ text _ repel(數(shù)據(jù)=子集(橙色,年齡= =最大(年齡)),
aes(標簽=粘貼(“樹”,樹)),大小=6,微移_x = 45,段。顏色= NA)+
主題_經(jīng)典(base_size = 16)+
主題(legend.position = "none")+
實驗室(title= "桔子樹",x= "年齡(天)",y= "周長(毫米)")
會話信息
sessionInfo()
## R版本3.4.0 (2017-04-21)
##平臺:x86_64-w64-mingw32/x64 (64位)
##運行于:Windows 8.1 x64(9600版本)
##
##矩陣產(chǎn)品:默認
##
##地區(qū):
# #[1]LC _ COLLATE =中文(簡體)_中國. 936
# #[2]LC _ CTYPE =中文(簡體)_中國. 936
# #[3]LC _ Monetary =中文(簡體)_中國. 936
## [4] LC_NUMERIC=C
# #[5]LC _ TIME =中文(簡體)_中國. 936
##
##附加基本包裝:
## [1]統(tǒng)計圖形設備實用程序數(shù)據(jù)集方法庫
##
##其他附件包:
# #[1]gg排斥_0.6.5 ggplot2_2.2.1
##
##通過命名空間加載(未附加):
# #[1]Rcpp _ 0 . 12 . 11 digest _ 0 . 6 . 12 rprojroot _ 1.2 plyr _ 1 . 8 . 4
# #[5]grid _ 3 . 4 . 0 gtable _ 0 . 2 . 0 back port _ 1 . 1 . 0 magritter _ 1.5
# #[9]evaluate _ 0.10 scales _ 0 . 4 . 1 rlang _ 0 . 1 . 1 stringi _ 1 . 1 . 5
# #[13]lazyyeval _ 0 . 2 . 0 rmarkdown _ 1.5標簽_0.3工具_3.4.0
# #[17]string gr _ 1 . 2 . 0 munsell _ 0 . 4 . 3 YAML _ 2 . 1 . 14編譯器_3.4.0
# #[21]color space _ 1.3-2 html tools _ 0 . 3 . 6 knitter _ 1.16 tibble _ 1 . 3 . 3
1.《repel R語言可視化學習筆記之ggrepel包》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《repel R語言可視化學習筆記之ggrepel包》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/junshi/1613666.html