【发布时间】:2015-07-23 12:00:35
【问题描述】:
我想将左侧图的刻度位置更改为与右侧相同(刻度在图内)。
library(ggplot2)
library(grid)
p <- ggplot(mtcars,aes(mpg,cyl))+
geom_point() +
theme(
axis.ticks.length=unit(0.5,"cm"),
axis.line = element_line(color = 'black',size=0.1),
axis.ticks.y = element_line(size=1,color='red'),
axis.text.y = element_text(hjust=0.5))
我认为我可以使用 grobs 获得所需的情节,但我很惊讶没有一个简单的设置来调整刻度位置!
编辑(使用解决方案here移动刻度线):
如上所述设置axis.ticks.length 提供了几乎正确的解决方案,轴文本也应该更靠近轴定位。 hjust 无效。
p <- ggplot(mtcars,aes(mpg,cyl))+
geom_point() +
theme(
axis.ticks.length=unit(-0.25, "cm"),
axis.ticks.margin=unit(0.5, "cm"),
axis.line = element_line(color = 'black',size=0.1),
axis.ticks.y = element_line(size=1,color='red'),
axis.text.y = element_text(hjust=0.5)) ##this don't work
【问题讨论】:
-
如果您可以在内部设置所有刻度线,这是一个可能的解决方案:stackoverflow.com/questions/26367296/…
-
@RomanLuštrik 看起来是个不错的解决方案,如何将文本标签调整到右侧?
-
我认为您可以使用负长度在每个轴上放置刻度:axis.ticks.length = unit(-0.25, "cm")
-
看来调整
axis.ticks.margin可以控制标签与轴的距离。