感谢大家关注天山情报,走好数据之路
欢迎关注天山情报。我们是一个专注于商业智能BI、人工智能AI和大数据分析与挖掘的垂直社区。学习、问答、求职一站搞定!
对商业智能BI、大数据分析与挖掘、机器学习、python、R等数据领域感兴趣的同学加微信:tstoutiao,邀请你加入数据爱好者交流群,数据爱好者都在这里。
闫涛:伪代码农民,R语言爱好者,热爱开源。
个人博客:https://ytlogos.github.io
库(ggplot2)
#使用数据集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))+
主题_经典(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)
参数
geom_text()的大部分参数适用于geom _ text _ repel(),但以下参数除外:
hjust
vjust
位置
检查重叠(_ o)
Ggrepel包为geom _ text _ repel()和geom _ label _ repel()提供了唯一的参数设置:
线段颜色:连接点和标签线段的颜色
线段大小:线段的厚度
线段α:线段的透明度
Box.padding:文本框周围的填充
点。填充:点周围的填充
箭头:网格:箭头提供的箭头
强制:强制分散重叠的文本
Max.oter:最大迭代次数
微移_x/y:标签起始位置在坐标轴上的移动距离
方向:标签的方向可以是x、y或两者兼有
这里有一个栗子来学习更多关于这些参数的图形效果
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))+
主题_经典(base_size = 16)
您也可以设置参数点。填充=无排斥
set.seed(42)
mtcars $标签<。-row name(mtcars)
ggplot(mtcars,aes(wt,mpg,label=label))+
geom _ point(color = " red ")+geom _ text _ reject(point . padding = NA)+
主题_经典(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)+主题_经典(base_size = 16)
特定区域的控制标签
通过设置参数xlim和ylim来限制标签的位置
set.seed(42)
数据<。- mtcars
mu <。-平均值(数据$wt)
左<。-数据[数据$wt <。mu,]
右<。-数据[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)
通过控制参数方向来确定标签是向左和向右移动还是向上和向下移动。默认值是两者都有
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(数据=子集(橙色,年龄= =最大(年龄)),
aes(标签=粘贴(“树”,树)),大小=6,微移_x = 45,段。颜色= NA)+
主题_经典(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版本)
##
##矩阵产品:默认
##
##地区:
# #[1]LC _ COLLATE =中文(简体)_中国. 936
# #[2]LC _ CTYPE =中文(简体)_中国. 936
# #[3]LC _ Monetary =中文(简体)_中国. 936
## [4] LC_NUMERIC=C
# #[5]LC _ TIME =中文(简体)_中国. 936
##
##附加基本包装:
## [1]统计图形设备实用程序数据集方法库
##
##其他附件包:
# #[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包》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《repel R语言可视化学习笔记之ggrepel包》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1613666.html