推广

R语言绘图——数据可视化ggplot2 介绍和主要的参数

iseeyu2年前 (2024-02-21)推广144

1.jpg

aes(),颜色、大小、形状和其他审美属性
要向绘图添加其他变量,我们可以使用其他美学,如颜色、形状和大小。
按照属性定义
它们的工作方式与xy相同,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

(2)scale

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

在ggplot2中有几种参数设置颜色:

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

3.coords坐标

默认坐标系是笛卡尔coord_cartesian()
一般不会修改

4.facet,把不同的因素分成不同的面,每个显示不同的数据子集

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

5.theme

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.0291.com.cn/post/57026.html

相关文章

教你SEO网站优化之如何选择一个好的空间。

教你SEO网站优化之如何选择一个好的空间。

 seo优化之一个好的空间 1、为什么说空间非常重要? 搜索引擎的爬虫(百度的爬虫叫做蜘蛛,谷歌的爬虫叫做机器人)是一种依靠网址爬取所在网址的网站的页面的程序,我们称之为爬虫,它是自动运行的,它收集网址并且下载这个杭州网站制作的页面的程序并对页面上的所有链接进行统计这包括内链和外链,统...

【网站栏目优化】解决网站资讯页秒收。

【网站栏目优化】解决网站资讯页秒收。

在企业网站优化的过程中,我们偶尔会遇到这样的问题:企业新闻资讯或者行业百科的页面,基本秒收录,而企业相关产品页面却一个不收录。   这样的境遇,让很多SEO从业的小伙伴苦不堪言,但面对这个问题,有的时候我们应该一分为二的看。   那么,企业资讯页秒收录,为...

简单总结一下视频号的规则算法

关于视频号的推荐算法官方还没有正式公布,也不会公布,因为这是一个平台的核心秘密,目前我们根据自己运营账号经验,总结一套相对完整的推荐机制。简单介绍一下:(1)视频播完在点赞,想必现在好多朋友都加了一些视频号互赞,如果你个人账号总是频繁给别人秒点赞那么对账号权重和自然流量上会...

教你seo优化师如何去提升网站关键词库数。

教你seo优化师如何去提升网站关键词库数。

做百度推广的站长基本都知道,在用5118站长工具或者其他查询工具查询网站基本情况的时候,会发现可以查询。吃苦越多对于网站排名越好,百度推广如何去提升网站关键词库数? 第一个、确定网站的目标关键词 站长想要提高网站的价值关键词必须做出正确的关键词选择,从根本上确定哪些关键词需要优化?但是,关键字的...

如何做好活动策划?4个关键动作!

如何做好活动策划?4个关键动作!

一提到活动策划,也许在很多人心目中只是意味着转发抽奖、集赞有礼、促销买赠,在很多整合传播方案中,活动策划差不多都是一个鸡肋般的存在,必不可少,但是食之无味,然后就随便应付一下。 那么活动策划是用来干吗的?只是设计一个促销?或是拿一些毫无吸引力的奖品,诱导用户参与一些枯燥乏味如同白痴一般的...

淘宝店铺认证照片要求是什么(淘宝店铺图片尺寸要求)

淘宝店铺认证照片要求是什么(淘宝店铺图片尺寸要求)

首先,使用的证件必须是在有效期内,超过有效期的不行,其次,所有提供的证件信息必须一致,再次,拍摄的证件照上面的字必须能够清楚辨认,且证件的信息必须是完整的。...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片