gpt4 book ai didi

r - 在 R 中使用 ggplot2 叠加两个图

转载 作者:行者123 更新时间:2023-12-04 11:06:47 27 4
gpt4 key购买 nike

有两个数据框 - df1 & df2从中我需要使用 ggplot2 创建线图并显示在同一个图形上。df1

 x   y 
2 30
4 25
6 20
8 15
df2
 x   y 
2 12
4 16
6 20
8 24
用于绘制第一个 df,
p1 <- ggplot( df1, aes(x = df1[,1] , y = log(df1[,2]) ) )
p1 <- p1 + geom_line(aes(y = log(df1[,2])))
p1
我们如何在数据框的同一图形上获得相同的绘图叠加 df2

最佳答案

如果重新定义 data ,这将改变 geom 层的来源。 ggplot将始终关注美学映射的初始化调用并尝试从那里继承,因此您无需重新调整 aes()除非您想更改/添加映射。
也不需要使用 df[,2]语法,ggplot已经在看里面 df1只要您设置 data = df1 .

df1 <- data.frame(x = seq(2, 8, by = 2),
y = seq(30, 15, by = -5))
df2 <- data.frame(x = seq(2, 8, by = 2),
y = seq(12, 24, by = 4))

ggplot(df1, aes(x, log(y))) +
geom_line() +
geom_line(data = df2, color = "red") # re-define data and overwrite top layer inheritance
enter image description here

关于r - 在 R 中使用 ggplot2 叠加两个图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40297206/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com