library(ggplot2)
ggplot(data=mtcars, aes(x=wt, y=mpg)) + #设定数据来源和x、y变量
geom_point() + #创建散点图
labs(title="Automobile Data", x="Weight", y="Miles Per Gallon") #添加注释(轴标签和标题)。
ggplot(data=mtcars, aes(x=wt, y=mpg)) +
geom_point(pch=17, color="blue", size=2) + #点的形状为三角形,点的大小加倍,颜色为蓝色
geom_smooth(method="lm", color="red", linetype=2) +
#增加了一条“平滑”曲线。
#这里需要线性拟合(method="lm"),并且产生一条红色虚线,默认线条尺寸为1。
#默认情况下,平滑的曲线包括在95%的置信区间(较暗带)内。
labs(title="Automobile Data", x="Weight", y="Miles Per Gallon")
ggplot2包提供了分组和小面化(faceting)的方法。
分组指的是在一个图形中显示两组或多组观察结果。
小面化指的是在单独、并排的图形上显示观察组。
ggplot2包在定义组或面时使用因子。
#首先,将am、vs和cyl变量转化为因子
#cyl是汽车发动机汽缸的数量
#am和vs是刻面变量,cyl是分组变量
mtcars$am <- factor(mtcars$am, levels=c(0,1),labels=c("Automatic", "Manual"))
mtcars$vs <- factor(mtcars$vs, levels=c(0,1),labels=c("V-Engine", "Straight Engine"))
mtcars$cyl <- factor(mtcars$cyl)
ggplot(data=mtcars, aes(x=hp, y=mpg,shape=cyl, color=cyl)) +
geom_point(size=3) +
facet_grid(am~vs) +
labs(title="Automobile Data by Engine Type",x="Horsepower", y="Miles Per Gallon")
data(singer, package="lattice")
ggplot(singer, aes(x=height)) + geom_histogram()
ggplot(singer, aes(x=voice.part, y=height)) + geom_boxplot()
#创建直方图时只有变量x是指定的,但创建箱线图时变量x和y都需要指定。
#geom_histgrom()函数在y变量没有指定时默认对y轴变量计数。
library(car)
data(Salaries, package="carData")
ggplot(Salaries, aes(x=rank, y=salary)) +
geom_boxplot(fill="cornflowerblue",color="black", notch=TRUE)+
geom_point(position="jitter", color="blue", alpha=.5)+
geom_rug(side="l", color="black")
data(singer, package="lattice")
ggplot(singer, aes(x=voice.part, y=height)) +
geom_violin(fill="lightblue") +
geom_boxplot(fill="lightgreen", width=.2)