You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ggplot2及ggplotly绘图时Y轴数值顺序错误如何解决?

问题原因

你构建数据框时,USAv2列的所有数值都被包裹在双引号中,因此被R识别为字符型变量而非数值型变量。ggplot2对字符型变量默认按照字典序排列坐标轴,而非按照数值大小排序,因此出现了Y轴顺序异常的问题。

解决方法

有两种常用的修复方案:

方案1:构建数据框时直接定义为数值型

去掉USAv2列所有数值外层的双引号即可:

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:直接转换现有数据框的列类型

如果不想修改原始数据构建代码,可在绘图前执行类型转换语句:

USA_G7v2$USAv2 <- as.numeric(USA_G7v2$USAv2)

修复完成后,你原本的绘图和交互式转换代码可直接运行,Y轴会自动按照数值大小正常排序。另外注意你现有代码中ylab("Investitionen (Mio $")缺少右括号,可调整为ylab("Investitionen (Mio $)")避免潜在报错。

内容的提问来源于stack exchange,提问作者KingCooper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 23:45:03