ggplot2简易教程
概述:ggplot2是R语言流行好用的画图包,功能强大,灵活性好。
本文总结ggplot2包中ggplot()函数画图的知识。关于ggplot2包详细介绍请进入ggplot2文档查阅。
-
1 ggplot()函数
-
2 图像装饰
-
2.1 添加标注
-
2.2 设置颜色和尺寸
-
2.3 修改图像背景
-
2.4 设置坐标轴的范围
-
3 常用图形
-
3.1 柱状图
-
3.2 直方图
-
3.3 盒箱图
-
4 参考资料
本文采用的数据集:
cars: Speed and Stopping Distances of Cars【源自R自带数据集】
mpg: Fuel economy data from 1999 and 2008 for 38 popular models of car【源自ggplot2包数据集】
1 ggplot()函数
ggplot()函数相对于qplot()函数功能更强大,灵活性更高。
ggplot()函数可以实现对图像做更大程度地控制和定制。
ggplot2画图的思想采用了图层叠加的思想,利用ggplot()对数据集创建图层,并且通过映射函数aes()把数据集中要绘制的变量映射到到图层中坐标轴,然后通过图层叠加设计和实现不同的可定制化的图形。
代码:
layer1 <- ggplot(data = cars, aes(x = speed, y = dist))
print(layer1)
结果:
在layer1的基础上添加绘制出各种图像效果的图层。了解速度与距离的关系,选择散点图或者折线图展示。
绘制散点图
代码:
layer2 <- layer1 + geom_point()
print(layer2)
结果:
绘制折线图
代码:
layer2 <- layer1 + geom_line()
print(layer2)
结果:
2 图像装饰
图形装饰,就是对图像添加各种标注、合适的颜色、绘制图形的符号和尺寸、图形的刻度管理、图例等,其目的就是让图形能够更加有效地表示出信息,并且便于看图者或者利益人获取和认知。
2.1 添加标注
添加标注包括坐标轴和图的抬头标识。
代码:
image1 <- layer1 + geom_point() + labs(x = "Speed",
y = "Dist",
title = "Speed vs Dist")
print(image1)
结果:
图的抬头标识没有居中,解决方案如下:
代码:
image2 <- layer1 +
geom_point() +
labs(x = "Speed", y = "Dist", title = "Speed vs Dist") +
theme(plot.title = element_text(hjust = 0.5))
print(image2)
结果:
说明:若是需要修改图片抬头标题的尺寸大小或者颜色,只需要在element_text()函数中给参数值size/color赋值即可实现。
2.2 设置颜色和尺寸
设置颜色和尺寸可以应用在绘制图形的符号上面或者标注的文字上面。
散点图尺寸放大并且用红色凸显
代码:
image3 <- layer1 +
geom_point(size = 6, colour = "Red") +
labs(x = "Speed", y = "Dist", title = "Speed vs Dist") +
theme(plot.title = element_text(hjust = 0.5, colour = "Blue"))
print(image3)
结果:
2.3 修改图像背景
代码:
image4 <- layer1 +
geom_point(size = 6, colour = "darkblue") +
theme_bw()
print(image4)
结果:
图像默认背景采用theme_grey()
2.4 设置坐标轴的范围
把前面的散点图x轴范围设置为[0, 40],y轴范围设置为[0, 200]。
代码:
image5 <- layer1 +
geom_point(size = 6, colour = "green") +
theme_classic() +
scale_x_continuous(limits = c(0, 40)) +
scale_y_continuous(limits = c(0, 200))
print(image5)
结果:
其它图形装饰,参见ggplot详情文档。
3 常用图形
在文章《R基本画图教程》介绍了工作中的常用图形。现在用ggplot()实现柱状图、直方图和盒箱图。
3.1 柱状图
代码:
image6 <- ggplot(data = mpg, aes(x=factor(cyl))) +
geom_bar()
print(image6)
结果:
3.2 直方图
代码:
image7 <- ggplot(data = cars, aes(x=speed)) +
geom_histogram(bins = 10, colour="red")
print(image7)
结果:
3.3 盒箱图
代码:
image8 <- ggplot(data = mpg, aes(x=factor(cyl), y=cty)) +
geom_boxplot()
print(image8)
结果:
ggplot2简易教程介绍ggplot()函数使用、图像常用装饰和常用图形的实现。
4 参考资料
1 ggplot2详情文档:http://docs.ggplot2.org/current/
公众号推荐:
数据科学与人工智能,分享数据科学与人工智能的知识和资讯。
数据人网是数据人学习、交流和分享的平台。
想加入数据人圈子,请加微信:luqin360。
点击阅读原文,进入数据人网,阅读更多优质的数据知识和资讯。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!