R语言学习笔记——ggplot2作图

 1.初识ggplot2

1.1 功能

是一个作图包;

可以创建图表,如散点,柱状图,线图,将数据可视化;

1.2 要素

数据(Data)和映射(Mapping)

几何对象(Geometric)

标尺(Scale)

统计变换(Statistics)

坐标系统(Coordinante)

图层(Layer)

分面(Facet)

主题(Theme)

1.3 理念

 ggplot2将数据,数据到图形要素的映射,以及和数据无关的图形要素绘制分离。

"""

ggplot(data,aes(x,y)) + 初始化图形并指定数据源和作图变量

geom_type()+              指定图形的类型

annotate()+                   添加文本注释

labs()+                          修改住坐标和坐标轴标题

"""

1.4逻辑

按图层叠加作图,通过+进行叠加

2 作图

2.1散点图

ggplot(data,aes(mpg,x,y))+geom_point()

"""

install.packages("ggplot2")

#加载需要使用的包

library(ggplot2)

ggplot(mtcars,aes(mpg,wt))+geom_point()

"""


R语言学习笔记——ggplot2作图_第1张图片

2.2线形图

ggplot(data,aes(mpg,x,y))+geom_line()

2.3 柱状图

查看频率分布情况:

ggplot(data,aes(x))+geom_bar()

"""

ggplot(mtcars,aes(cyl))+geom_bar()

ggplot(mtcars,aes(factor(cyl)))+geom_bar()

"""


R语言学习笔记——ggplot2作图_第2张图片

"""

#堆积柱形图

ggplot(mtcars,aes(factor(cyl),fill=factor(am)))+geom_bar()

"""


R语言学习笔记——ggplot2作图_第3张图片

"""

#簇状柱形图

bggplot(mtcars,aes(factor(cyl),fill=factor(am)))+geom_bar(position="dodge")

"""

R语言学习笔记——ggplot2作图_第4张图片

2.4 直方图

查看变量的分布情况

ggplot(data,aes(x))+geom_hisogram()

"""

ggplot(mtcars,aes(mpg))+geom_histogram()

"""

2.5 密度图

查看变量频率分布情况;

ggplot(data,aes(x))+geom_density()

"""

#根据vs进行分组,

#color:是对图形的边缘、点和线进行描绘;

#fill 是进行填充

 ggplot(mtcars,aes(mpg,color=factor(vs)))+geom_density()

 ggplot(mtcars,aes(mpg,fill=factor(vs)))+geom_density()

"""


R语言学习笔记——ggplot2作图_第5张图片
R语言学习笔记——ggplot2作图_第6张图片

2.6 箱线图

查看变量的统计值分布

 ggplot(data,aes(分类变量x,y))+geom_boxplot()

"""

> ggplot(mtcars,aes(factor(vs),mpg))+geom_boxplot()

"""


R语言学习笔记——ggplot2作图_第7张图片

3.分组组图

3.1

"""

ggplot(mtcars,aes(wt,mpg,color=qsec))+geom_point()

"""


R语言学习笔记——ggplot2作图_第8张图片

"""

#进行分组

ggplot(mtcars,aes(wt,mpg,color=factor(vs)))+geom_point()

"""


R语言学习笔记——ggplot2作图_第9张图片

3.2 aes参数

统一图层的颜色,参数在aes外面

4 分面作图

下面是两个经常要用到的分面函数。

facet_wrap(facets, nrow = NULL, ncol = NULL, scales = "fixed", shrink = TRUE, as.table = TRUE, drop = TRUE)

facet_grid(facets, margins = FALSE, scales = "fixed", space = "fixed", shrink = TRUE, labeller = "label_value", as.table = TRUE, drop = TRUE)

其中facet_wrap和facet_grid不同在于facet_wrap是基于一个因子进行设置,facets表示形式为:~变量(~单元格) 而facet_grid是基于两个因子进行设置,facets表示形式为:变量~变量(行~列),如果把一个因子用点表示,也可以达到facet_wrap的效果,也可以用加号设置成两个以上变量 

 4.1 轴刻度一致

单变量作图

"""

 ggplot(mtcars,aes(wt,mpg))+geom_point()+facet_grid(vs~.)

"""


R语言学习笔记——ggplot2作图_第10张图片

"""

gplot(mtcars,aes(wt,mpg))+geom_point()+facet_grid(.~vs)

"""


R语言学习笔记——ggplot2作图_第11张图片

双变量作图


4.2  轴刻度不一致

不同纵轴刻度

不同横轴刻度

"""

ggplot(mtcars,aes(wt,mpg))+geom_point()+facet_grid(~vs,scales="free")

"""


R语言学习笔记——ggplot2作图_第12张图片
# 这里把scales 设置成free之后,可以看出每个分面都有自己的横坐标刻度,可以单独对x轴或y轴设置。

nrow,ncol 分面索要设置成的行和列,参数为数值,表示几行或者几列

scales  参数fixed表示固定坐标轴刻度,free表示反馈坐标轴刻度,也可以单独设置成free_x或free_y

shrink  也和坐标轴刻度有关,如果为TRUE(默认值)则按统计后的数据调整刻度范围,否则按统计前的数据设定坐标。

drop    表示是否去掉没有数据的分组,默认情况下不显示,逻辑值为FALSE

as.table   和小图排列顺序有关的选项。如果为TRUE(默认)则按表格方式排列,即最大值(指分组level值)排在表格最后即右下角,否则排在左上角。

margins 通过TRUE或者FALSE表示否设置而一个总和的分面变量,默认情况为FALSE,即不设置

space    表示分面空间是否可以按照数据进行缩放,参数和scales一样

5.调整图像的元素

5.1形状

形状:geom_XXX(shape=x),x=1,2,3...,不同数值是不同的形状

大小:size=x,x=1,2,3...,数值越大,尺寸越大

5.2 颜色

color:是对图形的边缘、点和线进行描绘;

fill:填充图形内部的颜色

指定填充一种颜色:直接在aes外部填写,color="某种颜色”

5.3文本注释

annotate("text",x=,y=,label="")

text :表示添加类型为文本

x=,y=表示在指定位置上放上文本

label :表示填写的文本内容

5.4标题:

labs(little ="",x="",y="")

5.5 加线条

加竖线:geom_vline(xintercept=)

加横线:geom_hline(yintercept=)

5.6 xy轴互换

coord_flip()

5.7调整轴刻度的范围

x轴:xlim(下限,上限)

y轴:ylim(下限,上限)

5.8 修改轴上的值

X:scale_x_continuous(breaks(),labels=c()

Y:scale_y_continuous(breaks(),labels=c()

"""

ggplot(mtcars,aes(wt,mpg,color=factor(vs)))+geom_point()+annotate("text",x=4,y=20,label="yes")+labs(title="hello",x="xxx",y="yyy")+geom_vline(xintercept=3)+geom_hline(yintercept=20)+xlim(3,4)+ylim(15,25)

"""


R语言学习笔记——ggplot2作图_第13张图片

"""

ggplot(mtcars,aes(wt,mpg,color=factor(vs)))+geom_point()+annotate("text",x=4,y=20,label="yes")+labs(title="hello",x="xxx",y="yyy")+geom_vline(xintercept=3)+geom_hline(yintercept=20)+xlim(3,4)+ylim(15,25)+scale_x_continuous(breaks = c(3.00,3.25,3.50,3.75,4.00),labels=c("a","b","c","d","e"))

"""


R语言学习笔记——ggplot2作图_第14张图片

你可能感兴趣的:(R语言学习笔记——ggplot2作图)