r - 如何在不构建新数据框的情况下使用 R 中的 ggplot2 绘制来自不同数据框的两个系列?

标签 r plot ggplot2 dataframe

假设我有两个数据框

df1 = data.frame(x=1:10)
df2 = data.frame(x=11:20)

我想要一个散点图,其中包含定义坐标的这两个系列。这样做很简单
plot(df1$x,df2$x)

到目前为止,我对 ggplot2 的了解,我也可以做到
df = data.frame(x1 = df1$x, x2 = df2$x)
ggplot(data = df, aes(x=x1, y=x2)) + geom_point()
rm(df)

但这比不创建新数据帧要慢(对我而言),难以阅读,并且可能导致错误增加(删除错误的数据帧,覆盖所需的数据帧,忘记删除多余的困惑等) .)我真的需要创建一个单独的数据框来存放已经存在的数据吗?为什么下面的第一行虽然只列出了“数据”下的一个数据框而第二行没有?
ggplot(data = df1, aes(x=df1$x, y=df2$x)) + geom_point()
ggplot(            aes(x=df1$x, y=df2$x)) + geom_point()

这是我想要的基本上的示例图像:
Desired output

最佳答案

以下任何一行(全部取自评论)都应该有效:

ggplot(data=data.frame(x=df1$x, y=df2$x), aes(x,y)) + geom_point()

ggplot() + geom_point(aes(x=df1$x, y=df2$x))

ggplot(data=NULL, aes(x=df1$x, y=df2$x)) + geom_point()

ggplot(data=df1, aes(x=x)) + geom_point(aes(y=df2$x))

我更喜欢最后一行(取自已删除的评论)。正如对该问题的评论中所述,ggplot()将创建一个 data.frame反正。这些解决方案的作用是允许用户在某种程度上忽略数据管理的这一方面(诚然,某些用户会觉得可恶的方式)。

关于r - 如何在不构建新数据框的情况下使用 R 中的 ggplot2 绘制来自不同数据框的两个系列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32321396/

相关文章:

r - axis.break和ggplot2或gap.plot?情节可能太复杂了

r - 在雷达图中加入 geom_ribbon

r - 如何从 R 脚本中将更改提交到 GitHub?

r - 以 10 为底数,以 3 为底数给出任何数字 n 的算法

Python Matplotlib : reduce render time for interactive plot

r - ggplot 中的两个散点图,两个散点图之间有箭头

r - 在lm回归中使用偏移量-R

r - 从长格式数据框中提取基线值

r - 使用 xyplot 进行三因子绘图

python - 你如何在情节图例中显示文本标签? (例如,删除图例中的标签线)