R语言最擅长绘图。R语言最擅长的绘图包是ggplot2
ggplot2包是R的一个作图用的最精彩的扩展包,它实现了“图形的语法”,将一个作图任务分解为若干个子任务,只要完成各个子任务就可以完成作图。在作常用的图形时,只需要两个步骤:首先将图形所展现的数据输入到ggplot()函数中,然后调用某个geom_xxx()函数,指定图形类型,如散点图、曲线图、盒形图等。
如果需要进一步控制图形细节,只要继续调用其它函数,就可以控制变量值的表现方式(scale)、图例、配色等。这使得我们很容易做出基本的图形,在有需要时再深入学习,做出更为满意的图形。
与基本R中的作图系统相比, ggplot2的作图有规律可循,作图结果直接达到出版印刷质量,除了可以按照一些既定模式做出常见种类的图形,也很容易将不同图形种类组合在一起,或者设计新颖的图形。基本R的作图结果通常不够美观,如果要将不同种类图形组合在一起比较困难,对设计新的图形类型支持也不够好。
ggplot2 的绘图理念与基础的绘图有很大的不同,基础的绘图就好像是先铺好画布,然后在画布上画图,是一个平面的,而ggplot2打破了这种画图的方式 ,采用了图层的概念进行画图,先画好基础图,然后再往上一层一层的叠加图层,所以在进行ggplot2画图的时候,代码中会有大量的“+”,这就是对于图层的叠加。
ggplot2 图层元素
1.数据(data):将要可视化的数据
2.映射(aes):数据中的变量值
3.几何对象(geom):如bar条形图,point散点图
4. 统计变换(stats):对数据进行计算
5.标度(scale):变量以什么形状、颜色映射到图形上
6. 分面(facet):将数据拆开,进行分层画图
7. 主题(theme):主题设定,与数据无关的图层可以通过这个函数实现。
8. 注释 (annotate): 对图形增加文字类的注释
ggplot()图层
ggplot ()图层包括数据和映射。ggplot函数相当于一幅基本的画布,画者在上面绘制好坐标轴,设置好基本的格局和色彩、线条。
geom_XXX() 图层
geom_XXX() 指的是我们要绘制的图形类型,常见包括以下:
geom_point()绘制散点图
geom_bar()绘制条形图
geom_line()绘制线图
geom_histogram()绘制直方图
geom_boxplot() 绘制箱式图
geom_density() 绘制概率密度函数
scale_ XXX 图层
scale_ XXX 标度是一种函数,size对大小进行调整,shape对形状进行调整,fill、col对颜色进行调整,可根据自己喜好调整
ggplot(data =数据 , aes(x =变量1 , y = 变量2,col=变量3)) +
geom_point(stat = 'count',position=”dodge”)+ #计数、并排
scale_fill_manual(values = c("颜色1","颜色2"))
facet_grid() 图层
facet_grid(...) 对图层进行分面,数据分成多个子集进行绘图
ggplot(data =数据 , aes(x =变量1 , y = 变量2,col=变量3)) +
geom_point(stat = 'count',position=”dodge”)+
scale_colour_manual(values = c("颜色1","颜色2"))+
facet_grid(变量4~变量5) #要求变量属于分类变量,分成多行多列的图
theme() 图层
theme() 是主题修改,是一个对绘图精雕细琢的过程, 主要对标题、坐标轴标签、图例标签等文字调整, 以及网格线、背景、轴的颜色搭配。
theme(plot.title = element_text(size = , color =, hjust = , face = ))