ggplot2
是一个基于R语言开发出的功能强大的绘图工具,这也是学习生信必须掌握的一个技术,在之后的介绍中,将会对不同图像的绘制方法,以及相应参数的调整使用进行介绍
在ggplot2
使用介绍中说到,ggplot2
具有基于图形语法 (Wilkinson 2005) 的基础语法,可以通过组合独立的组件来组合图形。虽然需要进行相关语法的学习,但是ggplot2
是相当容易上手的,不过就是需要一些时间来忘记使用其他的图形绘制工具带来的先入为主的习惯。
ggplot2
下载
有两个方法可以获得ggplot2
包,首先是可以下载tidyverse
包,tidyverse
是一个为数据科学设计的R包集合,它不仅包含了ggplot2
,也对dplyr
(数据处理)、tidyr
(数据清洗)、stringr
(字符处理)等R包进行了整合,更加推荐直接下载tidyverse
包,这样会省去很多加载更多R的麻烦(~ ̄▽ ̄)~
install.packages("tidyverse")
当然,如果只需要下载ggplot2
的话也很简单
install.packages("ggplot2")
ggplot2
基本用法
ggplot2
的语法使用相对比较简单,只要有数据、美学以及想要的几何性状着三个部分就可以对数据进行可视化,同时也可以对细节进行修改,使绘制的图象更加精美
ggplot(data = DATA, mapping = aes()) +
geom_*() +
coord_() +
facet_() +
theme() +
scale
ggplot()
: 创建画布
data
: DATA为对应变量所在的数据框
mapping
: 绘图变量,aes()
为对统计对象的美学
goem_*()
: 几何形状的选择
coord_()
: 坐标轴转换
facet_()
: 图形分面
theme()
: 主题模板
scale
: 图形细节
ggplot2
各参数使用
1 - goem_*()
: 几何形状的选择
ggplot2
可绘制的图像有很多,基本上覆盖了常用的图象绘制,之后将逐渐对每种图象的绘制进行介绍
geom_point() #散点图
geom_line() #线型图
geom_bar() #柱状图
geom_density() #密度图
geom_boxplot() #箱线图
geom_histogram() #直方图
......
2 - coord_()
: 坐标轴转换
coord_()
可以控制x轴
和y轴
的位置,他不会对图象的内部数值进行干预
##对指定区域进行放大,expand=T则指定与轴两端还留一些空隙,expand=F则消除间隙
coord_cartesian(xlim = c(Num,Num), ylim = c(Num,Num), expand = TRUE)
##控制图象的长宽比例,ratio越小,图形越扁
coord_fixed(ratio = 1, expand = TRUE)
##控制横纵轴位置互换
coord_flip(expand = TRUE)
##可以用这个函数将柱状图转为饼图,theta决定横、纵轴弯曲,start控制弯曲弧度,direction代表数据排列顺序(1 = 顺时针)
coord_polar(theta = "x/y, start = 0, direction = 1)
......
3 - facet_()
: 图形分面
facet_()
可以根据你想要的方式对图象进行分面展示,可以每一部分看起来更有条理,使用方法也很简单
##按行进行分面
facet_wrap(x~,)
##按列进行分面
facet_wrap(,y~)
##对行列进行矩阵排布
facet_wrap(vars(x),vars(y))
......
也可以在函数内部添加参数图象看起来更自然
##按行进行分面,x轴取值范围自适应
facet_wrap(x~,scales="free_x")
##按列进行分面,y轴取值范围自适应
facet_wrap(,y~,scales="free_y")
##对行列进行矩阵排布,x、y轴取值范围自适应
facet_wrap(vars(x),vars(y),scales="free")
......
4 - theme()
: 主题模板
可以直接使用theme()
对图象的相关主题进行修改,其中ggplot2
中包含了一些预设的主题可以使用,也有一些R包可以有更多可选择的主题样式,当然也可以通过相关的主题元素手动进行细节上的修改,这个就需要看个人需求了
##对对应标题、标签进行修改
element_text()
##对相关线条修改
element_line()
##对背景修改
element_rect()
##对对应内容及进行取消
element_blank()
......
5 - scale
图形细节
scale
控制着图象相关属性的细节,可以对标签、标题、轴数据等进行细节优化,让图象看起来更漂亮
ggtitle() #添加标题
xlab(),ylab #添加轴标签
xlim(),ylim #设置轴数据范围
expand_scale() #轴与数据的距离
scale_linetype() #线条性状
scale_color/size/shape_manual() #自定义颜色、大小、形状
......
以上是对ggplot2
的一些简单介绍,未来将根据绘制不同的图象将详细参数信息和应用进行介绍和讲解,敬请期待(~ ̄▽ ̄)~
未完待续
参考资料
作者 :夏末白羽
转载 :R语言绘图之ggplot2(其之零)-基本介绍
来源 :微信公众号
著作权归作者所有,任何形式的转载都请联系作者。