使用ggplot2将y轴及标签移至右侧时图形异常,如何修正代码?
条形图y轴移至右侧的代码修正方案
问题原因
你的y轴变量Importances是连续数值型数据,但错误使用了针对离散型变量的scale_y_discrete()函数,导致连续刻度被错误解析,进而图形显示异常。
修正后的完整代码
将scale_y_discrete(position = "right")替换为对应连续型数据的scale_y_continuous(position = "right")即可:
library(ggplot2) # 定义数据 data <- data.frame( "Predictors" = c("v1", "v2", "v3", "v4", "v5", "v6", "v7"), "Importances" = c(0.007371975, 0.106796751, 0.233634795, 0.013773545, 0.008526435, 0.031571105, 0.050614501) ) library(ggpubr) ggbarplot(data, x = "Predictors", y = "Importances", color = "grey", fill = "grey", sort.val = "asc") + # 按升序排序 rotate() + scale_y_continuous(position = "right")
补充优化(可选)
如果需要让y轴标签也对齐到右侧,可额外添加theme设置:
+ theme(axis.title.y.right = element_text(vjust = 0.5))
内容的提问来源于stack exchange,提问作者Yujie Liu
相关产品推荐
相关产品推荐

