R ggplot2:删除x轴上的次要记号,但保留主要记号

R ggplot2:删除x轴上的次要记号,但保留主要记号,r,ggplot2,axis,labels,R,Ggplot2,Axis,Labels,我从ggplot2的以下R代码开始(略作修改): 但我只想隐藏小刻度(如“小刻度”中所述),而不隐藏大刻度。有没有办法只隐藏次要记号和/或指定哪些次要记号/主要记号要显示,哪些不显示?我很困惑,这并不是你想要的?哦,我明白了-乌贼的答案去掉了所有记号ggplot不区分主刻度线和次刻度线(次刻度线不会得到刻度线,这就是为什么代码使用breaks=breaks.comb,而不是breaks=breaks.major)。我认为要得到记号和额外的标签,你必须做一些类似hrbrmstr的回答,如果你省略a

我从ggplot2的以下R代码开始(略作修改):


但我只想隐藏小刻度(如“小刻度”中所述),而不隐藏大刻度。有没有办法只隐藏次要记号和/或指定哪些次要记号/主要记号要显示,哪些不显示?

我很困惑,这并不是你想要的?哦,我明白了-乌贼的答案去掉了所有记号
ggplot
不区分主刻度线和次刻度线(次刻度线不会得到刻度线,这就是为什么代码使用
breaks=breaks.comb
,而不是
breaks=breaks.major
)。我认为要得到记号和额外的标签,你必须做一些类似hrbrmstr的回答,如果你省略
axis.ticks.x=element_blank()
行,这应该很好。@Gregor谢谢你的快速回答!嗯,我试过@hrbrmstr的答案,但是1)我没有用他的代码复制他的图形(第二个轴的值没有显示)-你能确认吗?2) 当我省略:a)
gg1时,我希望我可以使用@cattlefish的答案,因为它的依赖性较小(我的实际数字要复杂得多,并且依赖于从ggplot2派生的包)。但是,如果这是唯一的解决方案(考虑到问题1和2可以解决),我将尝试为我的设置实现hrbrmstr的答案。谢谢你的帮助!
lims = c(0,100)

breaks.major <- c(0,15,37.5,52.5,67.5,82.5,95) #defines the midpoints of the categories (label locations)
breaks.minor <- c(30,45,60,75,90,100)   #defines the edges of the categories (second label set I need)

breaks.comb <- sort(c(breaks.major2, breaks.minor2 - 1.0E-6))  # avoid the just same value as minor
label.comb <- c(0, "\nExtremely \nDissatisfied", 30, "\nDissatisfied", 45, "\nUncertain", 60, 
                "\nSatisfied", 75, "\nVery \nSatisfied", 90, "\nExtremely \nSatisfied", 100)

library(ggplot2)
g <- ggplot(mpg, aes(class))+
  geom_bar()+
  coord_flip()+
  scale_y_continuous(limit = lims, minor_breaks = breaks.minor, breaks = breaks.comb, 
                     labels = label.comb, expand = c(0,0)) +
  theme(panel.grid.major.x = element_blank()) +
  theme(panel.grid.major.y = element_blank()) +
  #theme(axis.ticks.x=element_blank()) + #Hides ALL ticks!
  theme(axis.title= element_blank()) +
  theme(plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "lines"))
g
theme(axis.ticks.x=element_blank())