如何在R中使用ggplot2调整y轴范围并解决ylim设置不生效问题
ggplot2 y轴范围设置与显示格式问题解决方法
你观察到的y轴显示0e+00、4e+05本质和你期望的[0,400000]是完全一致的数值范围,只是ggplot2默认对大数值自动采用了科学计数法格式化刻度标签,并不是ylim()没有生效。如果需要同时固定y轴范围、让刻度以普通整数形式显示,按以下方法修改代码即可:
library(ggplot2) # 若未安装scales包先执行 install.packages("scales") library(scales) dev.new() ggplot(mya2021,aes(Age.Groups,Death,fill=Year))+ geom_bar(stat="identity",position="dodge") + scale_y_continuous( limits = c(0, 400000), # 固定y轴数值范围,作用等价于ylim(0,400000) labels = label_number() # 强制刻度标签用普通整数显示,关闭科学计数法 )
常见踩坑说明
- 如果设置
ylim()后确实出现范围不符合预期的情况,检查代码中是否在ylim()之后又调用了scale_y_*系列函数,后者的参数会覆盖之前的ylim()设置,把范围参数统一写到scale_y_continuous()中即可避免冲突。
内容的提问来源于stack exchange,提问作者XUN ZHANG
相关产品推荐
相关产品推荐

