如何在ggplot2中独立控制y轴刻度和x轴刻度?

13
我想要从x轴上移除刻度,但不希望从y轴上移除,目前我可以使用以下代码将两者都移除:
```python plt.tick_params(axis='both', which='both', length=0) ```
请问如何只移除x轴上的刻度?
axis.ticks=theme_blank()

例如:
# Generate data
c <- ggplot(mtcars, aes(factor(cyl)))

c + geom_bar()+opts(axis.ticks=theme_blank())
#c + geom_bar(width=.5)
#c + geom_bar() + coord_flip()
#c + geom_bar(fill="white", colour="darkgreen")

但是我不知道如何独立地控制它们。


1
顺便提一下,如果你要使用过时的 ggplot2 版本,在提问时提及这一点会很有帮助。 - joran
在最新版本中,对于例如x轴,将使用theme(axis.ticks.x=element_blank()) - Ashwin
1个回答

28

要仅移除 x 轴刻度,请使用 axis.ticks.x=

 c <- ggplot(mtcars, aes(factor(cyl))) 
 c + geom_bar()+opts(axis.ticks.x=theme_blank())

对于最新的ggplot2版本(0.9.3),请使用theme()element_blank()代替opts()

 c <- ggplot(mtcars, aes(factor(cyl))) 
 c + geom_bar()+theme(axis.ticks.x=element_blank())

可以运行!@arun,你是否有正确的ggplot2版本? - Atticus29
2
不,我读题过度了:)我以为是轴标签...现在才明白是刻度线!天啊,我盯着图表看了相当长的一段时间,想看看有什么不同!:) - Arun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接