R语言学习1:ggplot2(第一次学习)
一:可视化
问题1:大引擎的汽车比小引擎的汽车耗油多吗?(画在一张图上)
1,简单画图:
// An highlighted block
library(tidyverse)
library(ggplot2)
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy));
mpg美国环境保护署收集的38种车型的观察结果:
displ 汽车的引擎
hwy,高速公路,汽车在高速公路上的燃油效率,单位为英里每加仑(英里每加仑)。低燃油效率的汽车在行驶相同距离时比高燃油效率的汽车消耗更多的燃油。
geom_point()将点图层添加到绘图中
ggplot2中的每个geom函数都有一个映射参数。
#ggplot(data = ) +<GEOM_FUNCTION>(mapping = aes()),通用格式
2用不同颜色标记
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy,color=class))
3 用大小标记
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy,size=class))
4,用透明度
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy,alpha=class))
5,用形状
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy,shape=class)) #一次只能使用六个形状
6自定义
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy,color=blue))
为什么不是蓝色?
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy),color=blue)
+不能出现在行的开头
2.分割
ggplot(data=mpg)+
geom_point(mapping=aes(x=displ,y=hwy))+
facet_wrap(~class,nrow=2)
ggplot(data=mpg)+
geom_point(mapping=aes(x=displ,y=hwy))+
facet_grid(drv~cyl)
1.ggplot(data=mpg)+
geom_point(mapping=aes(x=displ,y=hwy))+
facet_grid(drv~.)
2.ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_grid(. ~ cyl)
3.ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_wrap(~ class, nrow = 2)
3使用不同的图形
上面的是散点图
ggplot(data=mpg)+
geom_smooth(mapping=aes(x=displ,y=hwy))线性图
ggplot(data=mpg)+
geom_smooth(mapping=aes(x=displ,y=hwy,linetype=driv))
根据driv值将汽车分为三条线
1.ggplot(data=mpg)+
geom_smooth(mapping=aes(x=displ,y=hwy,group=driv))按组
2.ggplot(data = mpg) +
geom_smooth(
mapping = aes(x = displ, y = hwy, color = drv),
show.legend = FALSE )不显示注释
3.ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
geom_smooth(mapping = aes(x = displ, y = hwy))散点图+线性图4.ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) +
geom_point(mapping = aes(color = class)) +
geom_smooth()
5.ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) +
geom_point() +
geom_smooth()
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut)) #柱形图
geom_bar 相当于stat_count 计数
demo <- tribble(
~a, ~b,
"bar_1", 20,
"bar_2", 30,
"bar_3", 40
)
ggplot(data = demo) +
geom_bar(
mapping = aes(x = a, y = b), stat = "identity"
)
1.ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut, color = cut))
2.ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut, fill = cut))
3.ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut, fill = clarity))
4.ggplot(data = diamonds) +
geom_bar(
mapping = aes(x = cut, fill = color, y = ..prop..)
)
5.ggplot(data = diamonds) +
stat_summary(
mapping = aes(x = cut, y = depth),
fun.ymin = min,
fun.ymax = max,
fun.y = median
)
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")
ggplot(data = diamonds) +
geom_bar(
mapping = aes(x = cut, fill = clarity),
position = "dodge"
)
ggplot(data = diamonds) +
geom_bar(
mapping = aes(x = cut, fill = clarity),
position = "fill"
)
箱线图
1.ggplot(data = mpg, mapping = aes(x = class, y = hwy)) +
geom_boxplot()
2.ggplot(data = mpg, mapping = aes(x = class, y = hwy)) +
geom_boxplot() +
coord_flip()#转换x轴和y轴
极坐标
bar <- ggplot(data = diamonds) +
geom_bar(
mapping = aes(x = cut, fill = cut), show.legend = FALSE,
width = 1
)+
theme(aspect.ratio = 1) + labs(x = NULL, y = NULL)
bar + coord_flip()
bar + coord_polar()
模块
ggplot(data = ) +
<geom_function>(
mapping = aes(),
stat = ,
position =
)+ <coordinate_function> + <facet_funcrion>