微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ggplot 一张图中的两行,错误代码?

如何解决ggplot 一张图中的两行,错误代码?

我对 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") 中的错误: 没有适用于“重新缩放”的方法应用于“因子”类的对象

正如我所说,我已经将数据更改为数字。所以我想知道为什么它仍然给我这种错误

这是我的数据集示例:

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))

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。