如何在ggplot中仅显示Y轴,隐藏绘图区域与X轴等其他元素?
仅保留Y轴元素的ggplot实现
要完全只显示Y轴元素、移除所有绘图区域相关内容,你需要在theme中清除面板背景、网格线、X轴刻度、绘图背景等多余组件,修改后的代码如下:
name <- c("A", "B", "C", "D", "E") values <- c(1, 2, 3, 4, 5) data <- data.frame(name, values) ggplot() + geom_blank(data = data, aes(y = reorder(name, desc(name)))) + theme( # 移除X轴所有元素 axis.text.x = element_blank(), axis.ticks.x = element_blank(), # 移除所有轴标题 axis.title = element_blank(), # 保留Y轴文本 axis.text.y = element_text(colour = "black"), # 移除面板背景与网格线 panel.background = element_blank(), panel.grid = element_blank(), # 移除整个绘图区域背景 plot.background = element_blank(), # 移除面板边框 panel.border = element_blank(), # 若不需要Y轴刻度,可添加:axis.ticks.y = element_blank() )
关键调整说明:
panel.background = element_blank():清除面板的白色背景panel.grid = element_blank():移除所有网格线plot.background = element_blank():移除绘图区域的整体背景axis.ticks.x = element_blank():清除X轴的刻度线panel.border = element_blank():移除面板的边框线
调整后就只会保留Y轴的文本元素,无任何多余的绘图区域内容。
内容的提问来源于stack exchange,提问作者Apoorva Hungund
相关产品推荐
相关产品推荐

