前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >ggplot2中ylim的坑

ggplot2中ylim的坑

作者头像
生信编程日常
发布2020-04-01 15:44:02
发布2020-04-01 15:44:02
1.2K00
代码可运行
举报
运行总次数:0
代码可运行

​在ggplot2中很容易出现一个修改坐标轴范围的问题,喜欢用ggplot2画图的需要注意一下。ylim和coord_cartesian都是调整坐标轴范围,但是它们的结果是有可能不一样的,看下面的一个例子:

代码语言:javascript
代码运行次数:0
运行
复制
data(diamonds)
p <- ggplot(data = diamonds, aes(x = cut, y = table, color = cut)) + geom_boxplot() 
p
# 截取
p + ylim(c(0,60))

第二行原图:

image

截取0到60的部分:

image

可以看到第二张图跟原图是不一样的,比如Fair的第一个box原数据最高是超过60的,但是截取之后不到60了。这是一个不太容易注意到的坑。这里是因为ylim是直接处理的数据导致的,比如例子中不在范围的数据就直接被移除。同等操作应该用coord_cartesian来实现。coord_cartesian指定参数控制图形特定区域放大显示,只影响图形展示,不影响内部数据的值。即使用原数据作图,再对图形进行变动。内部参数xlim 和 ylim 各接一个二元数值向量,控制显示的区域范围,原理不是截取,而是放大该区域,原有图形不变。

代码语言:javascript
代码运行次数:0
运行
复制
p + + coord_cartesian(ylim = c(0,60))

image

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档