前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggplot2 3.3.0版本更新内容

ggplot2 3.3.0版本更新内容

作者头像
生信编程日常
发布2020-04-01 16:28:08
6730
发布2020-04-01 16:28:08
举报
1. 坐标轴

在老版本中,坐标轴的刻度间隔比较近,文本较长的情况下,经常会出现重叠的现象:

代码语言:javascript
复制
library(ggplot2)
p <- ggplot(mpg) +  
      geom_bar(aes(x = manufacturer),fill = '#8FBC8F') +  
      theme(axis.text.x = element_text(size = 11))
p

image

在新版本中可以将相邻的labels错开:

代码语言:javascript
复制
p +  scale_x_discrete(guide = guide_axis(n.dodge = 2))

image

也可以移除重叠的labels:

image

2. bin scale

原来ggplot只有两种scale的类型,即continuous和discrete,在新版本中加了一种新的类型,可以将连续型的数据根据bin变成离散型的。如下所示:

代码语言:javascript
复制
p <- ggplot(mpg) +  
      geom_point(aes(displ, cty, size = hwy, colour = hwy))p +  
      scale_size_binned()

image

代码语言:javascript
复制
p +  scale_colour_binned()

image

将data放到对应的bin中间:

代码语言:javascript
复制
p +  scale_x_binned()

image

3. 方向

原来如果想把图形换一个方向的话,可以考虑用coord_flip()来实现,比如:

代码语言:javascript
复制
ggplot(mpg) +  geom_bar(aes(x = manufacturer)) +  coord_flip()

image

新版本的ggplot2对此进行了改进,可以支持两个方向了,不需要用coor_flip()即可实现:

代码语言:javascript
复制
ggplot(mpg) +  geom_bar(aes(y = manufacturer))

image

拟合曲线也可改变方向:

代码语言:javascript
复制
ggplot(mpg, aes(displ, hwy)) +  
geom_point() +  geom_smooth(orientation = "y")

image

4. aesthetic

比如我们要做一个柱状图,希望纵坐标是density,需要这么写:

代码语言:javascript
复制
ggplot(mpg, aes(x = displ, y = ..density..)) +  geom_histogram()

image

但是新版本可以用after_stat()来实现:

代码语言:javascript
复制
ggplot(mpg, aes(x =displ)) +  
geom_histogram(aes(y = after_stat(density)))

也可以直接调整颜色(加了透明度):

代码语言:javascript
复制
ggplot(mpg, aes(class, hwy)) +  
geom_boxplot(aes(colour = class, fill = after_scale(alpha(colour, 0.4))))

image

并且现在可以对于一个aesthetic可以支持多个mapping,用stage即可实现,如下面代码,颜色有两个映射:

代码语言:javascript
复制
ggplot(mpg) +  
geom_bar(aes(x = drv, colour = stage(start = drv, after_scale = alpha(colour, 0.5))), fill = NA, size = 4  )

image

此外还有一点别的内容,可以参考https://www.tidyverse.org/blog/2020/03/ggplot2-3-3-0/ 中的内容。

欢迎关注公众号!

生信编程日常

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 坐标轴
  • 2. bin scale
  • 3. 方向
  • 4. aesthetic
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档