如何在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
相关产品推荐
相关产品推荐

