【R分享|实战】科白君浅谈ggplot2包学习逻辑
ggplot2包常用的函数介绍
ggplot ()图层包括数据和映射。这是画图的基础,正如立个背景(画布)。例如,ggplot (data = xx, mapping = aes(x, y) 等等
(3) 第二层:geom_xx () 图层
该图层主要绘制所需图形类型,当ggplot () 描述了data和mapping后,geom这层就可以不用再写这部分内容,直接描述例如该图形的形状、大小、颜色等等。常见包括以下图形:
geom_point () 散点图
geom_bar () 柱状图
geom_line () 折线图
geom_boxplot () 箱线图
geom_violin () 小提琴图
geom_histogram () 直方图
ggplot2绘制柱状图/条形图
考虑到散点图前几期已经与大家分享过,就挑选一个常见的图形(柱状图/条形图)作为例子给大家讲讲绘图思路。根据上面描述的基本元素,我们一步一步绘制:
第一、二层:包含数据data 映射mapping 几何对象geom
library(ggplot2) #加载R包
data("mtcars") #自带数据集
head(mtcars) #查看该数据集前6行
ggplot(data=mtcars, aes(x = as.factor(cyl), y = mpg))+
geom_bar(stat = "identity")
#ggplot() 先描述数据对象,然后映射数据中x 和 y的对应变量。
#geom_bar() 画柱状图。如果设置stat="identity",这意味着条形的高度表示数据数据的值,而数据的值是由aes ()函数的y参数决定的,就是说,把值映射到y,所以,当设置stat="identity"时,必须设置映射函数中的y参数,把它映射到数值变量。
结果如图:
这里强调一点:大家可以看到设定x对象为cyl,用了as.factor()函数,这表示将4,6,8作为三个因子。如果我们直接用x=cyl将是另一个结果,因为cyl的具体结果为数值型数据。因此,当遇到数值型作为x轴时,大家需要考虑清楚是否需要将其转化为因子型。
后续图层的代码讲解如下:包含标尺scale 分面facet 主题theme,其余的代码学习逻辑与这几个元素一样。
最主要对不懂的函数寻求帮助,最重要的事情说三遍:看对应help中examples,看对应help中的examples,看对应help中的examples。
ggplot(data=mtcars, aes(x = as.factor(cyl), y = disp, fill = as.factor(gear)))+
#fill这里是对gear这个变量进行分组,如果不用as.factor函数,则颜色会根据数值的变化展现出渐进色变化。
geom_bar(stat = "identity")+
scale_y_continuous(limits = c(0,500))+ #对y轴进行范围设定
facet_grid(~gear)+ #根据gear进行分面 命令写法为~xx
theme_bw()+ #将灰色背景设置为白色
theme(legend.title = element_blank())+ #去掉图例的标题 element_blank 表示空白
labs(x="cyl") #对x轴标题进行修改
结果如图:
这是对gear不设定as.factor,结果差异非常明显。
赞 (0)