使用ggplot2进行画图的基本步骤为创建绘图对象,添加图层,添加的涂层可以为条形图、直方图、散点图等。

1 创建绘图对象

library(ggplot2)
data('iris')
ggplot(iris,aes(x=Sepal.Length,y=Petal.Length))

指定数据集iris为数据框(dataframe),x坐标为Sepal.Length,y坐标为Petal.Length

ggplot函数,参数主要有两个,数据和图形属性映射。这两个参数被设为绘图的默认参数,只有在新添加的图层里设定了新的参数时,默认值才会被修改。

2 添加图层

根据想要画的图的类型不同,添加图层的类型不同

# 散点图
ggplot(iris,aes(x=Sepal.Length,y=Petal.Length)) + geom_point(size=2)
# 直方图
ggplot(iris,aes(x=Sepal.Length))+geom_histogram()
# 条形图
ggplot(iris,aes(x=Sepal.Length))+geom_bar()
# 箱形图
sample_num <- dim(iris)[1]
data <- c(iris$Sepal.Length,iris$Petal.Length)
type <- c(rep("Sepal",sample_num),rep("Petal",sample_num))
data_bar <- data.frame(data,type)
ggplot(data_bar,aes(x=type,y=data))+geom_boxplot()
#
geom_XXX(mapping, data, …, stat,position)
stat_XXX(mapping, data, …, geom,position)

mapping(可选): 一组图形属性映射,通过ase()函数来设定
data(可选): 一个数据集,它会修改默认的数据集
…: geom或是stat的参数,如直方图的组距(binwidth),也可以用图形属性作为参数,这样该属性就被设定为一个固定值
geom或stat(可选): 可以修改geom默认的stat的值,或是stat默认的geom值。它们为一组字符串,包含了将要使用的几何对象或统计变换的名称。
position: 选择一种调整对象重合的方式

%+%添加新的数据集来代替原来的数据集

p<- ggplot(mtcars,aes(mpg,wt,colour=cyl)) + geom_point()

p

mtcars<- transform(mtcars,mpg = mpg^2)

p%+% mtcars

ggplot数据是以副本而不是引用的形式存储到图形对象中。有两个好处:1. 数据改变了,绘图则不会改变;2. ggplot2的对象都是自含型(self-contained)的故可以被存储(save())到磁盘上,并且之后可以被加载运行(load()).

aes函数里面的变量都必须包含于默认数据集或是图层数据集中,这是保证ggplot2对象都是自含型的重要方式之一,方便存储和重复使用。

p <- ggplot(mtcars,aes(mpg,wt))

p + geom_point(colour =“darkblue”)

#将点的颜色设为深蓝色

z

将colour映射到darkblue颜色。实际上是先创建一个只含有darkblue字符的变量,而后将colour映射到这个新变量。该新变量为离散型,默认的颜色标度是用色轮上等间距的颜色,此处新变量只有一个值,故为桃红色。

co <- 1:32

p + geom_point(aes(colour = co))

该方法将颜色映射到一个向量上,颜色渐变。