2.2 mpg数据集
image.png2.3 知识要点
ggplot2 图像=数据+图形属性映射+集合对象
散点图【ggplot+geom_point】
image.png
2.4 颜色、大小、形状和其他图形属性
ggplot(mpg,
aes(displ,cty,colour=class))+
geom_point()
image.png
(我也不知道为什么colour=不能tab出来)
- 比较colour放在aes()里面和外面
- 放在aes里面
ggplot(mpg,
aes(displ,cty))+
geom_point(aes(colour="blue"))
image.png
- 放在aes外面——固定属性
[vignette("ggplot2-specs")——颜色和其他图形属性所需的值]
- 连续型变量常映射为大小,分类变量则映射为图形和颜色
ggplot(mpg,
aes(displ,cty))+
geom_point(colour="blue")
image.png
2.5 分面【facet_wrap(~x)】
ggplot(mpg,aes(displ,hwy))+
geom_point()+
facet_wrap(~class)
image.png
2.6 几何对象
2.6.1 平滑曲线
参数 | 语法 |
---|---|
可信区间 |
普通平滑曲线
ggplot(mpg,aes(displ,hwy))+
geom_point()+
geom_smooth()
image.png
参数调整:
- se=FALSE调整可信区间是否显示
ggplot(mpg,aes(displ,hwy))+
geom_point()+
geom_smooth(se = FALSE)
image.png
- span=数字(0~1,0表示很不平滑,1表示很平滑)
#平滑程度;span
ggplot(mpg,aes(displ,hwy))+
geom_point()+
geom_smooth(span=0.2)
image.png
ggplot(mpg,aes(displ,hwy))+
geom_point()+
geom_smooth(span=1)
image.png
-
method="loess"(默认选项)
n较小时默认的method(拟合方式)是Loess局部回归拟合。
image.png
n>1000时,对于大数据Loess不再使用,默认采用另一种平滑算法
- method="gam"广义可加模型
method="gam"[mgcv包拟合广义可加模型,调用公式y~s(x,bs="cs")]
library(mgcv)
ggplot(mpg,aes(displ,hwy))+
geom_point()+
geom_smooth(method = "gam",
formula = y~s(x))
image.png
- method="lm"/"rlm"
(rlm要加载MASS包)
ggplot(mpg,aes(displ,hwy))+
geom_point()+
geom_smooth(method = "lm")
image.png
2.6.2 箱线图和扰动点图
图 | 代码 | 作用 | 重要参数 |
---|
如何体现不同分组不同子集的分布特点?
A.
ggplot(mpg,aes(displ,colour=drv))+
geom_freqpoly(binwidth=0.5)
image.png
B.
ggplot(mpg,aes(displ,fill=drv))+
geom_histogram(binwidth = 0.5)+
facet_wrap(~drv,ncol = 1)
image.png
2.6.5 时间序列中的折线图和路径图
Figure1 失业率随时间的变化
ggplot(economics,
aes(date,unemploy/pop))+
geom_line()
image.png
Figure2 失业星期数中位数随时间的变化
ggplot(economics,
aes(date,uempmed))+
geom_line()
image.png
失业率和失业时间长度随时间变化:路径图
#路径图:将临近时点的散点连接起来
year <- function(x) as.POSIXlt(x)$year+1900
ggplot(economics,
aes(unemploy/pop,uempmed))+
geom_path(colour="grey50")+
geom_point(aes(colour=year(date)))
image.png
习题
如何调整箱线图的顺序?reorder函数
ggplot(mpg,aes(class,hwy))+geom_boxplot()
image.png
ggplot(mpg,aes(reorder(class,hwy),hwy))+geom_boxplot()
image.png
网友评论