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

如何在R中调整柱状图y轴的刻度和顺序,满足钻孔横截面绘图需求

问题原因

geom_col默认会对同一x轴分组下的y值按fill分类堆叠,最终y轴展示的是堆叠后的累计高度,而非真实的钻孔深度值。

解决代码

你的数据集df3包含每个土层的起始深度Start_Depth和结束深度End_Depth,推荐使用geom_rect直接指定土层的上下边界实现需求:

library(ggplot2)

g2 <- ggplot(data = df3) +
  geom_rect(
    aes(
      xmin = as.numeric(PointID) - 0.4,
      xmax = as.numeric(PointID) + 0.4,
      ymin = Start_Depth,
      ymax = End_Depth,
      fill = Layer
    ),
    colour = "black"
  ) +
  # 如需深度0在y轴顶部(符合钻孔图常规展示逻辑),保留下面这行,否则删除
  scale_y_reverse() +
  scale_x_continuous(
    breaks = unique(as.numeric(df3$PointID)),
    labels = unique(df3$PointID)
  ) +
  labs(x = "钻孔编号", y = "深度")

print(g2)

可选调整方案

如果不需要反转y轴,直接删除scale_y_reverse()代码行即可。如需调整钻孔柱的宽度,修改xmin和xmax中加减的数值(数值越大柱形越宽)。

你当前生成的错误效果图如下:
当前输出的图表效果


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:09:03