R geom_哑铃图不继承aes

R geom_哑铃图不继承aes,r,ggplot2,R,Ggplot2,我正在试图建立一个哑铃情节geom_哑铃在ggplot。绘图构建良好,但当我尝试在点颜色和大小周围添加细节时,绘图无法继承aes,喷涌: 错误:映射必须由aes创建 以下是生成可复制示例的代码: test <- data.frame(Scenario = rep(c("LC-HD", "HC-HD", "LC-LD", "HC-LD"), times = 2), technology = c("P", "W", "P", "W", "P", "W", "P", "

我正在试图建立一个哑铃情节geom_哑铃在ggplot。绘图构建良好,但当我尝试在点颜色和大小周围添加细节时,绘图无法继承aes,喷涌:

错误:映射必须由aes创建

以下是生成可复制示例的代码:

test <- data.frame(Scenario = rep(c("LC-HD", "HC-HD", "LC-LD", "HC-LD"), times = 2),  
           technology = c("P", "W", "P", "W", "P", "W", "P", "W"),
           country = paste("country", rep(seq(1, 4, by = 1), times = 2)), 
           low = runif(8, min = 1, max = 3), 
           high = runif(8, min = 4, max = 6))
但是,当我对geom_dumbbell图层设置点颜色和尺寸进行以下更改时:

library(devtools)
library(ggplot2)
library(ggalt)
ggplot(test, aes(x = low, xend = high, y = country, group = country)) + 
  geom_dumbbell(color="grey", 
                size = 1, 
                point.size.l = 1.5, point.size.r = 1,5, 
                point.colour.l = "#58d9ef", point.colour.r = "#a3c4dc") +
  facet_grid(technology ~ Scenario) +
  coord_flip() + 
  theme(axis.text.x = element_text(angle = 90))
我得到一个错误:

错误:映射必须由aes创建

即使我在geom_bumbbell层中显式地尝试set inherit.aes=T,我仍然会得到错误

问题似乎出在point.size参数上,因为添加它会产生错误。当我只添加point.color参数时,我得到:

警告:忽略未知参数:point.color.l,point.color.r

这很奇怪,因为文档中描述了这些参数:

我正在运行加载geom_哑铃的ggalt_0.6.1

我错过了什么。为什么添加点的详细信息会改变aes的继承方式,为什么不能识别point.Color参数?

解决了这个问题

错误:映射必须由aes创建

是由point.size.r中的逗号引起的

警告:忽略未知参数:point.color.l,point.color.r

是因为使用了错误的名字

这些应该是:

point.size.l = size_x
point.size.r = size_xend
point.color.l = colour_x
point.color.r = colour_xend
解决办法是:


为这个令人困惑的题目道歉。我不确定如何编辑文档:

在您的问题中,您可能需要确认的一件事是您正在使用的geom_dumbell版本。在寻求帮助时,您应该包括一个简单的示例输入和所需的输出,用于测试和验证可能的解决方案。由于结果中没有数据,因此无法运行和测试代码以查看发生了什么。在示例代码中,point.size.r=1,5用逗号代替句点。改变这一点可能有助于mrflick,我添加了代码来生成可复制的示例。steveb,我添加了关于运行加载geom_dumbbell的ggalt 0.6.1版的信息,我想这就是你的问题所在,我想这是最新版本。请参见24,当将逗号更改为点时,我得到一个好的提示:警告:忽略未知参数:point.size.l,point.size.r,point.color.l,point.color.r。如果我运行的是我认为最新版本的ggalt,为什么不识别这些参数?
point.size.l = size_x
point.size.r = size_xend
point.color.l = colour_x
point.color.r = colour_xend