提问人:kleber 提问时间:6/5/2018 更新时间:6/5/2018 访问量:2436
r ggplot2 用geom_rect忽略未知的美学
r ggplot2 Ignoring unknown aesthetics with geom_rect
问:
我正在尝试做一个瀑布图,如以下示例所示:
base2 <- data.frame(rot=c("PRini","shk1","PRfim"), value=c(10,5,15),order=c(1,2,3), fim=c(10,15,0),
inicio=c(0,10,15), imp=c("net","pos","net"))
ggplot(base2, aes(fill = imp)) +
geom_rect(aes(x = rot,
xmin=order - 0.3,
xmax=order + 0.3,
ymin=fim,
ymax=inicio),
position="dodge")
当我执行该代码时,我收到以下消息:
Warning: Ignoring unknown aesthetics: x
如果删除该参数,则会显示以下消息:x
Error: position_dodge requires the following missing aesthetics: x
当我删除参数时,会显示绘图,但没有标签。我想要一些建议来删除第一个保留标签。position
x
warning
x
提前致谢。
答:
2赞
mischva11
6/5/2018
#1
把所有的美学都放在你的ggplot(aes())中,那么你就不会收到警告。然后,geom_rect() 将从 ggplot() 获取 aes。
ggplot(base2, aes(fill = imp, x = rot, xmin=order - 0.3,
+ xmax=order + 0.3,
+ ymin=fim,ymax=inicio)) +
+ geom_rect( position="dodge")
另一种解决方案作为肮脏的解决方法:
看起来你的情节很好,但它只是给你警告。您也可以用于忽略警告。suppressWarnings()
评论
0赞
kleber
6/5/2018
非常感谢,@mischva11!这就是我一直在寻找的解决方案!就像你说的,情节很好,但我想删除.warning
评论