ggplot 在一张图中画两行,错误代码?
ggplot two lines in one graph, error code?
我是 RStudio 的新手,尝试在一张图中绘制两条不同的线。 X 尺度应为年份,Y 尺度应为每公顷碳吨数。然后我想为两种不同的森林管理类型(BAUca 和 NATUREca)绘制两条线。在代码的前 4 行中,我将数据从因子更改为数字。
mydata[] <- lapply(mydata, function(x) {
if(is.factor(x)) as.numeric(as.character(x)) else x
})
sapply(mydata, class)
ggplot(mydata, aes(x=Year, y=BAUca, group=1))+
geom_line()+
geom_line(y=NATUREca)
我收到以下错误代码:
UseMethod("rescale") 错误:
没有适用于 'rescale' 的方法应用于 class“因素”
的对象
正如我所说,我已经将我的数据更改为数字。所以我想知道为什么它仍然给我这种错误。
这是我的数据集的示例:
Year BAUca NATUREca
2020 80.31 80.31
2025 83.43 92.76
2030 83.73 102.56
2035 84.76 112.72
2040 84.65 121.83
2045 84.84 131.38
2050 86.18 141.33
如果有人对此错误有解决方案,我们将非常高兴。
问候,
弗雷德里克
您忘记将 y
放入 aesthetic
:
mydata <- data.frame(
Year = c(2020, 2025, 2030, 2035, 2040, 2045, 2050),
BAUca = c(80.31, 83.43, 83.73, 84.76, 84.65, 84.84, 86.18),
NATUREca = c(80.31, 92.76, 102.56, 112.72, 121.83, 131.38, 141.33)
)
ggplot(mydata, aes(x=Year, y=BAUca, group=1))+
geom_line()+
geom_line(aes(y=NATUREca))
我是 RStudio 的新手,尝试在一张图中绘制两条不同的线。 X 尺度应为年份,Y 尺度应为每公顷碳吨数。然后我想为两种不同的森林管理类型(BAUca 和 NATUREca)绘制两条线。在代码的前 4 行中,我将数据从因子更改为数字。
mydata[] <- lapply(mydata, function(x) {
if(is.factor(x)) as.numeric(as.character(x)) else x
})
sapply(mydata, class)
ggplot(mydata, aes(x=Year, y=BAUca, group=1))+
geom_line()+
geom_line(y=NATUREca)
我收到以下错误代码: UseMethod("rescale") 错误: 没有适用于 'rescale' 的方法应用于 class“因素”
的对象正如我所说,我已经将我的数据更改为数字。所以我想知道为什么它仍然给我这种错误。
这是我的数据集的示例:
Year BAUca NATUREca
2020 80.31 80.31
2025 83.43 92.76
2030 83.73 102.56
2035 84.76 112.72
2040 84.65 121.83
2045 84.84 131.38
2050 86.18 141.33
如果有人对此错误有解决方案,我们将非常高兴。 问候, 弗雷德里克
您忘记将 y
放入 aesthetic
:
mydata <- data.frame(
Year = c(2020, 2025, 2030, 2035, 2040, 2045, 2050),
BAUca = c(80.31, 83.43, 83.73, 84.76, 84.65, 84.84, 86.18),
NATUREca = c(80.31, 92.76, 102.56, 112.72, 121.83, 131.38, 141.33)
)
ggplot(mydata, aes(x=Year, y=BAUca, group=1))+
geom_line()+
geom_line(aes(y=NATUREca))