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

R语言ggplot2绘图无法移除坐标轴刻度问题求助

问题原因

你的代码无法隐藏x轴刻度有两个核心问题:

  1. theme_update()是ggplot2中用于修改全局默认主题的函数,不应该用+拼接在单张图的绘图链中
  2. 你在设置了刻度隐藏参数后又调用了theme_classic(),这个完整主题模板会覆盖你之前所有的主题修改设置

解决方案

按照「先应用基础主题、再自定义修改参数」的顺序调整代码即可,正确示例如下:

library(ggplot2)
# 可直接运行构造数据集无需额外读文件
test <- data.frame(
  PercentIncMSE = c(3.40165438891285,3.37949397465159,3.09930356879588,3.04613121334614,2.91160219316499,2.88550323781124,2.78591569629083,2.78561093039636,2.65776304486951,2.64593284649183,2.62250705917071,2.55545911837547,2.3676161089342,2.33212959759882,2.32182900208383,2.32155274685452,2.32132222174433,2.24006703422385,2.22601045517115,2.18196099056015),
  varnames = c("Right Superior Temporal Gyrus S.A.","Left Caudal Middle Frontal Gyrus S.A.","Right Medial Temporal Lobe S.A.","RH Mean Thickness","LH Mean Surface Area","Right Medial Temporal Lobe Thickness","Left Precentral Gyrus S.A.","Total Surface Area","Right Lateral Occipital Cortex Thickness","Right Postcentral Gyrus Thickness","Right Cuneus S.A.","Mean Thickness","Left Paracentral Lobule Thickness","Left Superior Frontal Gyrus S.A.","Right Inferior Parietal Lobule Thickness","Left Posterior Cingulate Cortex S.A.","Left Supramarginal Gyrus Thickness","Left Precentral Gyrus Thickness","Left Rostral Middle Frontal Gyrus Thickness","Right Superior Parietal Lobe Thickness"),
  var_categ = c("S.A.","S.A.","S.A.","Thickness","S.A.","Thickness","S.A.","S.A.","Thickness","Thickness","S.A.","Thickness","Thickness","S.A.","Thickness","S.A.","Thickness","Thickness","Thickness","Thickness")
)

ggplot(test, aes(x=reorder(varnames, PercentIncMSE), weight=PercentIncMSE, fill=as.factor(var_categ)))+ 
  geom_bar() +
  scale_fill_discrete(name="Variable Group") +
  ylab("IncNodePurity") +
  xlab("Variable Name") +
  theme_classic() +
  theme(axis.ticks.x = element_blank())

如果你确实需要使用theme_update()修改全局默认主题,就把它放在绘图代码之前,不要拼接在绘图链中,同时不要在后接theme_classic()覆盖设置:

library(ggplot2)
theme_update(axis.ticks.x = element_blank())
# 后面所有ggplot绘图默认都会隐藏x轴刻度
ggplot(test, aes(x=reorder(varnames, PercentIncMSE), weight=PercentIncMSE, fill=as.factor(var_categ)))+ 
  geom_bar() +
  scale_fill_discrete(name="Variable Group") +
  ylab("IncNodePurity") +
  xlab("Variable Name")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 07:18:04