tip: Rstudio页面从四个不小心换为2个,按control+shift+3可恢复。
install.packages("ggplot2")
library("ggplot2")
1.5 分面 facet_wrap(), facet_grid()
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_wrap(~ class, nrow = 2)
通过变量对图进行分面,加入函数 facet_grid()。这个函数的 第一个参数也是一个公式,但该公式包含由 ~ 隔开的两个变量名。
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_grid(drv ~ cyl)
1.6 几何对象 geom_smmoth(),geom_point(),linetype,group,fill,se,color
ggplot(data = mpg) +
geom_smooth(mapping = aes(x = displ, y = hwy, linetype = drv))+
geom_point()
1.6 题 画以下图
#1,数据,散点图,平滑曲线,se=F指置信区间不显示
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
geom_smooth(se=F)
#2,group表示以drv为分组
ggplot(mpg, aes(x = displ, y = hwy,group=drv)) +
geom_point() +
geom_smooth(se=F)
#3,全局变量中以drv分类加颜色
ggplot(mpg, aes(x = displ, y = hwy,color=drv)) +
geom_point() +
geom_smooth(se=F)
#4,以drv分类的散点图中加色,为局部变量
ggplot(mpg, aes(x = displ, y = hwy)) +
geom_point(aes(color=drv)) +
geom_smooth(se=F)
#5,散点图中加色以drv分类,局部变量;平滑曲线的类型以drv分类,局部变量
ggplot(mpg, aes(x = displ, y = hwy,group=drv)) +
geom_point(aes(color=drv)) +
geom_smooth(aes(linetype=drv),se=F)
#6,以drv分类画散点图
ggplot(mpg, aes(x = displ, y = hwy,color=drv)) +
geom_point()
1.7 统计变化 geom_bar(),geom_histogram()
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut))
几何对象和统计变化可相互转化
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut))
覆盖从统计变换生成的变量到图形属性的默认映射
ggplot(data = diamonds) +
geom_bar(
mapping = aes(x = cut, y = ..prop.., group = 1)
)
1.8 位置调整 ```position="identity"/"fill"/"dodge"
图形上色color,fill
position 参数设定位置调整功能,当不需要堆叠的条形图,可以选用identity,fill,dodge
- position = "identity"将每个对象直接显示在图中。不太适合条形图,条形会彼此重叠。显示重叠部分需设置 alpha 参数为一个较小 的数,使条形略微透明;或者 fill = NA,让条形完全透明:
ggplot(
data = diamonds,
mapping = aes(x = cut, fill = clarity)
)+
geom_bar(alpha = 1/5, position = "identity")
ggplot(
data = diamonds,
mapping = aes(x = cut, color = clarity)
)+
geom_bar(fill = NA, position = "identity")
- position = "fill"与堆叠相似,但每组堆叠条形高度相同,这种条 形图可以比较各组间的比例:
ggplot(diamonds)+
geom_bar(aes(x=cut,fill=clarity),position="fill")
- position = "dodge"将每组中的条形依次并列放置,这样可以非常轻松地比较每个条形 表示的具体数值:
ggplot(data = diamonds) +
geom_bar(
mapping = aes(x = cut, fill = clarity),
position="dodge")
- position="jitter"每个点抖动,避免网格化排列/重叠
1.9 坐标系
- 使用 coord_polar() 函数将堆叠式条形图转换为饼图。
#堆叠式条形图
ggplot(data = diamonds) +
geom_bar(
mapping = aes(x = cut,fill = clarity),position="fill"
)
#转为饼图
ggplot(data = diamonds) +
geom_bar(
mapping = aes(x = cut,fill = clarity),position="fill"
)+
coord_polar()