ggplot2条形图参数设置:设置柱体起始值与Y轴取值范围
需求实现说明
你的两个绘制参数配置需求均可实现,具体实现方法如下:
核心实现逻辑
- 条形从Y=1位置开始绘制:放弃默认从Y=0生成柱体的
geom_bar,改用geom_rect自定义柱体边界,直接指定所有柱体的下边界为Y=1,上边界为原始carb值,同时保持和原代码一致的0.3柱宽、分组偏移规则。 - Y轴范围固定:提前计算数据集Y值最大值的1.25倍作为坐标轴上限,再通过
scale_y_continuous固定Y轴范围为[-1, 计算出的上限值]。
完整可运行代码
# 加载ggplot2包 library(ggplot2) # 计算Y轴上限:数据最大值的1.25倍 y_upper_limit <- max(mtcars$carb) * 1.25 # 生成条形图 bar_plot__x_is_cyl__y_is_carb <- ggplot(mtcars, aes(x = factor(cyl))) + # 自定义柱体,下边界固定为1,柱宽0.3与原参数一致 geom_rect(aes( xmin = as.numeric(factor(cyl)) - 0.15, xmax = as.numeric(factor(cyl)) + 0.15, ymin = 1, ymax = carb ), position = position_dodge(0.3), fill = "gray20") + # 固定Y轴范围,设置轴标签 scale_y_continuous( limits = c(-1, y_upper_limit), name = "carb" ) + xlab("cyl") # 显示图表 bar_plot__x_is_cyl__y_is_carb
内容的提问来源于stack exchange,提问作者Mel
相关产品推荐
相关产品推荐

