1.jpg
aes(),颜色、大小、形状和其他审美属性
要向绘图添加其他变量,我们可以使用其他美学,如颜色、形状和大小。
按照属性定义
它们的工作方式与x
和y
相同,aes():
aes(displ, hwy, colour = class) #按照某个属性着色
aes(displ, hwy, shape = drv) #按照某个属性定义
aes(displ, hwy, size = cyl) #按照某个属性定义
> ggplot(mpg, aes(x = displ, y = hwy,colour = class)) + geom_point()
2.jpg
整体自定义
geom_xxx(colour =自定义颜色)
geom_xxx(shape=形状编号)
geom_xxx(size =编号大小定义 0-10)
注意根据需求按照aes()还是geom进行添加属性
以下为R语言中各shape形状编号
6.jpg
> ggplot(mpg, aes(displ, hwy)) + geom_point(colour = "blue") #把所有点定义为blue
3.jpg
> ggplot(mpg, aes(displ, hwy,colour=hwy)) + geom_point(shape=3)
7.jpg
scale控制如何将数据值转换为视觉属性的细节。
labs()和lims()是对标签和限制进行最常见调整。
labs() ,主要对图形进行调整,注释等
labs()括号内参数:title主标题,subtitle副标题,caption右下角描述,tag左上角
xlab() ,x轴命名
ylab() ,y轴命名
ggtitle() ,标题
> ggplot(mpg, aes(displ, hwy)) + geom_point()+ labs(title="TILTLE",subtitle="sub",caption="the caption",tag="A")+ xlab("XXX")+ #横坐标命名 ylab("YYY") #纵坐标命名
4.jpg
lims()
xlim(), xlim(a,b) 限制坐标(a,b)
ylim() , ylim(a,b) 限制坐标(a,b)
>ggplot(mpg, aes(displ, hwy)) + geom_point()+ labs(title="TILTLE",subtitle="sub",caption="the caption",tag="A")+ xlab("XXX")+ #横坐标命名 ylab("YYY")+ #纵坐标命名 xlim(0,8)+ ylim(0,60)
5.jpg
scale_alpha() 透明度尺度
scale_shape() ,搭配aes(shape=某个属性)使用
参数:name ,solid =T/F是否填充
> ggplot(mpg, aes(displ, hwy,shape=drv,colour=drv)) + geom_point()+ labs(title="TILTLE",subtitle="sub",caption="the caption",tag="A")+ xlab("XXX")+ #横坐标命名 ylab("YYY")+ #纵坐标命名 xlim(0,8)+ ylim(0,60)+ scale_shape(name="shape",solid = TRUE)
8.jpg
scale_size() 搭配aes(size=某个属性)使用
参数:name,range =c(0, 10)
> ggplot(mpg, aes(displ,hwy,size=hwy,colour=drv)) + geom_point()+ labs(title="TILTLE",subtitle="sub",caption="the caption",tag="A")+ xlab("XXX")+ #横坐标命名 ylab("YYY")+ #纵坐标命名 xlim(0,8)+ ylim(0,60)+ scale_size(name="SIZE",range=c(0,3))
9.jpg
1.适用于发散和定性的数据
a.scale_colour_brewer(),scale_colour_brewer(palette =” “),scale_colour_brewer(palette =”Green “)
palette来自RcolorBrewer包,所有面板:
10.jpg
> ggplot(mpg, aes(displ, hwy,colour=drv))+ ##drv是一种定性尺度 geom_point()+ scale_colour_brewer(palette = "Set1")
11.jpg
b.scale_colour_manual()
scale_colour_manual(values=c( )) 可以自定义颜色,常用的参数
values可直接定义颜色,但是建议使用命名向量,例如
values=c(“8” = “red”, “4” = “blue”, “6” = “darkgreen”, “10” = “orange”)
PS:注意在aes(colour=factor()),一定要把因素转换为factor型,否则无效
ggplot(mpg, aes(displ,hwy,colour = factor(drv)))+ geom_point()+ scale_colour_manual(values = c("red", "blue", "green"))
17.jpg
2.适用于连续的值,渐变颜色
a.scale_colour_gradient()
scale_colour_gradient (low =” “,high=” “),根据值大小定义颜色,创建两个颜色梯度(低-高),
> ggplot(mpg, aes(displ, hwy,colour=displ))+ geom_point()+ scale_colour_gradient(low = "green", high = "black")
14.jpg
b.scale_colour_gradient2()
scale_colour_gradient2(low = ” “,mid = ” “,high = ” “)创建一个发散的颜色梯度(低-中-高)
> df <- data.frame( x = runif(100), y = runif(100), z = rnorm(100) ) > ggplot(df, aes(x, y,colour = z)) + geom_point()+ scale_colour_gradient2(low = "green",,mid = "white",high = "black")
15.jpg
c.scale_colour_gradientn()
创建一个n色渐变,scale_colour_gradientn(colours =许多R语言中的颜色面板),
> ggplot(mpg, aes(displ, hwy,colour=displ))+ ##displ是连续的值 geom_point()+ scale_colour_gradientn(colours = terrain.colors(10))
13.jpg
默认坐标系是笛卡尔coord_cartesian()
一般不会修改
facet_grid(),在网格中布置面板
facet_grid(rows = vars() ) ;cols或rows = vars(因素),图形按列或行分割
ggplot(mpg, aes(displ, cty)) + geom_point()+ facet_grid(rows = vars(drv))
18.jpg
facet_wrap()
facet_wrap(vars( ), ncol =n) , ncol或者nrow,分为多少行多少列
> ggplot(mpg, aes(displ, cty)) + geom_point()+ facet_wrap(vars(drv), ncol =2)
19.jpg
theme_bw(),可以覆盖所有主题,背景变为白色,我们在文章中所用的图片大都需要该背景。
或者用theme_classic(),同时去除了网格线
> ggplot(mpg, aes(displ, cty)) + geom_point()+ theme_bw()
20.jpg
> ggplot(mpg, aes(displ, cty)) + geom_point()+ theme_classic()
21.jpg
theme(),修改主题的组件,里面涉及多个参数,根据需求调整
常见参数:
legend.position,图例的位置,包括 “left” 左, “right” 右, “bottom” 下, “top” 上和”none”,不显示
ggplot(mpg, aes(displ, cty,colour= factor(drv))) + geom_point()+ theme_classic()+ theme(legend.position = "left")
22.jpg
本文链接:https://www.123wz.cn/post/58750.html
版权声明:
温馨提示:
本站提供的一切软件、教程和内容信息都来自网络收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
上一篇:OpenGL学习27——伽马校正
下一篇:广义线性混合模型(GLMM)
还没有评论,快来说点什么吧~