首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >geom_blank滴下NA

geom_blank滴下NA
EN

Stack Overflow用户
提问于 2016-09-22 20:37:18
回答 2查看 325关注 0票数 12

使用geom_blank,我想添加一些新的因素级别,但我似乎无法做到这一点,并保持NA级别

代码语言:javascript
运行
复制
library('ggplot2')
pl <- ggplot(data.frame(x = factor(c(1:2, NA)), y = 1), aes(x, y)) + geom_point()
pl

代码语言:javascript
运行
复制
pl + geom_blank(data = data.frame(x = addNA(factor(c(0:3, NA))), y = 1))

我想让x在0,1,2,3,NA上使用geom_blank

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-24 22:57:10

正如我在评论中所希望的那样,如果已经制作了图层,就可以重新排列图层,这应该适用于一般的ggplots。

代码语言:javascript
运行
复制
library('ggplot2')
pl <- ggplot(data.frame(x = factor(c(1:2, NA)), y = 1), aes(x, y)) +
  geom_point() +
  geom_blank(data = data.frame(x = addNA(factor(c(0:3, NA))), y = 1))


## not what I want
pl


## this is what I want
pl$layers <- rev(pl$layers)
pl

票数 9
EN

Stack Overflow用户

发布于 2016-09-25 06:21:34

不幸的是,当您有多个具有独立数据集的层时,元素级别可能会被覆盖。您可以通过设置离散比例的限制来解决这个问题:

代码语言:javascript
运行
复制
pl <- ggplot(data.frame(x = factor(c(1:2, NA)), y = 1), aes(x, y)) + geom_point()    
pl +
  geom_blank(data = data.frame(x = addNA(factor(c(0:3, NA))), y = 1)) +
  scale_x_discrete(limits=addNA(factor(c(0:3, NA))))

由于某种原因,这扰乱了轴上的膨胀,NA断裂在右边边缘。

[

这可以通过手动设置扩展参数来解决。

代码语言:javascript
运行
复制
pl <- ggplot(data.frame(x = factor(c(1:2, NA)), y = 1), aes(x, y)) + geom_point()
pl +
  geom_blank(data = data.frame(x = addNA(factor(c(0:3, NA))), y = 1)) +
  scale_x_discrete(limits=addNA(factor(c(0:3, NA))), expand=c(0.25,0.25))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39648451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档