R 如何使用不同的数据帧添加geom_point层?

R 如何使用不同的数据帧添加geom_point层?,r,ggplot2,R,Ggplot2,我希望在我的图表中添加第五个地球化学数据集,它的比例与前四个不同。我已成功地将第二个x轴添加到附加数据集,但在绘制数据集时遇到问题 第一个数据集是“data.fe.clean”,我的第二个数据集是“data.fe3”。这是我的密码: p.fe.clean <- ggplot(data.fe.clean, aes(x=geochem.value, y=depth)) + geom_point(aes(color=geochem.type)) + geom_path(aes(color

我希望在我的图表中添加第五个地球化学数据集,它的比例与前四个不同。我已成功地将第二个x轴添加到附加数据集,但在绘制数据集时遇到问题

第一个数据集是“data.fe.clean”,我的第二个数据集是“data.fe3”。这是我的密码:

p.fe.clean <- ggplot(data.fe.clean, aes(x=geochem.value, y=depth)) +
  geom_point(aes(color=geochem.type)) +
  geom_path(aes(color=geochem.type)) +
  facet_wrap(~ core) +
  scale_x_continuous(data.fe3, sec.axis = dup_axis(~.*0.05, name = "Fe (III) [nA]")) +
  geom_point(data.fe3, inherit.aes = FALSE, aes(x=geochem.value/0.05, y=depth)) +
  geom_path(aes(color=geochem.type)) +
  theme_bw() 
  
print(p.fe.clean)
p.fe.clean rlang::last_error()
`映射`必须由`aes()创建`
回溯:
1.ggplot2::几何点(…)
2.ggplot2::图层(…)
3.ggplot2:::验证映射(映射)
运行`rlang::last_trace()`查看完整上下文。
> 
这也在我的图下面添加了最独特的值列表,如下所示:

如何删除值列表,同时从数据框“data.fe3”打印


提前谢谢你

试试这个。当使用多个数据源时,
ggplot2
包用于处理不同几何图形的问题。因此,如果您使用另一个几何图形,请尝试添加
数据=…
。这里的代码,在缺乏可再现性问题数据的情况下:

p.fe.clean <- ggplot(data.fe.clean, aes(x=geochem.value, y=depth)) +
  geom_point(aes(color=geochem.type)) +
  geom_path(aes(color=geochem.type)) +
  facet_wrap(~ core) +
  scale_x_continuous(data.fe3, sec.axis = dup_axis(~.*0.05, name = "Fe (III) [nA]")) +
  geom_point(data=data.fe3, inherit.aes = FALSE, aes(x=geochem.value/0.05, y=depth)) +
  geom_path(aes(color=geochem.type)) +
  theme_bw() 
输出:

axis中存在其他值的问题是因为在
scale\u x\u continuous()
中复制了数据。代码如下:

#Code 3 clean up other labels in axis
ggplot(data.fe.clean, aes(x=geochem.value, y=depth)) +
  geom_point(aes(color=geochem.type)) +
  geom_path(aes(color=geochem.type)) +
  facet_wrap(~ core) +
  scale_x_continuous(sec.axis = dup_axis(~.*0.05, name = "Fe (III) [nA]")) +
  geom_point(data=data.fe3, inherit.aes = FALSE, aes(x=geochem.value/0.05,
                                                     y=depth,color=geochem.type)) +
  geom_path(data=data.fe3,aes(x=geochem.value/0.05,
                              y=depth,color=geochem.type)) +
  theme_bw() 
输出:


参数
data
不是
geom_point()
中的第一个参数,
映射
是(您可以在帮助页面中看到这一点;
data
是第二个参数)。鉴于此,您当前正在将数据集传递给
映射
,这将导致消息/问题。正如下面的答案所述,明确写出参数名称以绕过参数顺序问题。嗨,Duck,这很好地解决了图上的点。但是,我似乎不知道如何获得
geom_path()
geom_line()
来实际连接这些点。同样,如果有必要,我很乐意提供
dput()
,它太长了。非常感谢@Duck。这是一个巨大的帮助,我真的很感谢你的时间!这张图表看起来很棒。
#Code 2 connect dots
ggplot(data.fe.clean, aes(x=geochem.value, y=depth)) +
  geom_point(aes(color=geochem.type)) +
  geom_path(aes(color=geochem.type)) +
  facet_wrap(~ core) +
  scale_x_continuous(data.fe3, sec.axis = dup_axis(~.*0.05, name = "Fe (III) [nA]")) +
  geom_point(data=data.fe3, inherit.aes = FALSE, aes(x=geochem.value/0.05,
                                                     y=depth,color=geochem.type)) +
  geom_path(data=data.fe3,aes(x=geochem.value/0.05,
                              y=depth,color=geochem.type)) +
  theme_bw() 
#Code 3 clean up other labels in axis
ggplot(data.fe.clean, aes(x=geochem.value, y=depth)) +
  geom_point(aes(color=geochem.type)) +
  geom_path(aes(color=geochem.type)) +
  facet_wrap(~ core) +
  scale_x_continuous(sec.axis = dup_axis(~.*0.05, name = "Fe (III) [nA]")) +
  geom_point(data=data.fe3, inherit.aes = FALSE, aes(x=geochem.value/0.05,
                                                     y=depth,color=geochem.type)) +
  geom_path(data=data.fe3,aes(x=geochem.value/0.05,
                              y=depth,color=geochem.type)) +
  theme_bw()