首页 > 解决方案 > y轴计算错误

问题描述

我目前陷入了一个棘手的境地。我想使用ggplot2ggplotly()函数绘制一个数据框以使其具有交互性。我自己创建了数据框。但是现在,当我尝试绘制数据框时,R 将 y 轴上的值以错误的顺序排列。

我正在使用的代码:

1.数据框

USA_G7v2 <- data.frame(USAv2 = c("541945", "562886", "609085", "669576", "784362", "850051", "877983", "894973", "1014603", "1025091", "1017020", "1049943", "1138765", "1149043", "1241665", "1243148", "1350002", "1442058", "1309820", "1521441"), Jahr =c("2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019"))

2.要绘制的代码:

v <- USA_G7v2%>%
  ggplot(aes(x=Jahr, y=USAv2, group=1))+
  geom_area(alpha=0.5)+
  geom_line()+
  ylab("Investitionen (Mio $")+
  theme_ipsum()

3、互动部分:

ggplotly(v)

结果如下所示: 绘图

我真的不知道我做错了什么,非常感谢一些帮助,谢谢!

标签: rggplot2

解决方案


您正在传递字符,例如传递"123"给数据框而不是数字 ( 123)。

如果您将数据转换为数字格式,该问题将得到解决。这是一种方法

v <- USA_G7v2 %>%
  mutate(Jahr = as.numeric(Jahr),
         USAv2 = as.numeric(USAv2)) %>%
  ggplot(aes(x=Jahr, y=USAv2, group=1))+
  geom_area(alpha=0.5)+
  geom_line()+
  ylab("Investitionen (Mio $")+
  theme_ipsum()

推荐阅读