r - y轴计算错误
问题描述
我目前陷入了一个棘手的境地。我想使用ggplot2
和ggplotly()
函数绘制一个数据框以使其具有交互性。我自己创建了数据框。但是现在,当我尝试绘制数据框时,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)
结果如下所示: 绘图
我真的不知道我做错了什么,非常感谢一些帮助,谢谢!
解决方案
您正在传递字符,例如传递"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()
推荐阅读
- node.js - Angular 应用程序无法通过 Socket.IO 与 Flask 通信
- angular - 如何使用 ngModel 在 div 的 innerhtml 属性上实现 2 路数据绑定
- html - 使用spring boot和mysql过滤数据html不起作用
- php - 仅将 WooCommerce 可变产品的最后一个变体保留在购物车中
- sql - 通过触发器函数管理新列,以便在 postgresql 中从一个模式复制到另一个模式
- r - 如何将 R 中一组离散变量的所有可能值组合在一起?
- c# - 在 .NET Core 类库的 Microsoft.AspNetCore.Hosting.Abstractions 程序集中找不到 IWebHostEnvironment
- php - Livewire句柄查询
- c# - 如何在 C# 中将 int[][] 值转换为 double[][]
- python - 如何使用 tensorflow 和 keras 加快模型训练过程