这是来自 ggplot wiki 的 ggplot :
baseplot <- ggplot(data.frame(x=1:10, y=10:1)) +
geom_point(aes(x = x, y = y))
baseplot
题
是否可以分别控制这些轴,例如只使 x 轴变黑?似乎没有
axis.line.x
和 axis.line.y
是其中的选项。我试过的
baseplot + opts(axis.line = theme_segment(colour = 'black', size = 2))
geom_segment
工作,但有线条必须与情节编号匹配的限制。有没有办法得到,例如
baseplot
中的轴最大值和最小值以及刻度目的?这将减少潜在的错误。更新此问题的答案,“不,还没有”,已涵盖 previously .baseplot + geom_segment(aes(x = c(0,0), y = c(0,0),
yend = c(0, max(y)), xend = c(max(x), 0),
size = c(0.5, 0.1))) +
geom_segment(aes(x = 0, y = y,
xend = -1,
yend = y,
size = 0.1))
最佳答案
不支持单独控制轴线。
您可以在绘制后删除或编辑线条:
> baseplot + opts(axis.line = theme_segment(colour = 'black', size = 2))
> grid.remove(gPath("axis_v", "axis.line.segments"), grep=TRUE)
> baseplot + opts(axis.line = theme_segment(colour = 'black', size = 2))
> grid.edit(gPath("axis_v", "axis.line.segments"), grep=TRUE, gp=gpar(col="red"))
> grid.edit(gPath("axis_h", "axis.line.segments"), grep=TRUE, gp=gpar(col="blue"))
更新
在 0.9.1- 中,这可能会更改为:
grid.edit(gPath("axis-l", "axis.line.segments"), grep=TRUE, gp=gpar(col="red"))
grid.edit(gPath("axis-b", "axis.line.segments"), grep=TRUE, gp=gpar(col="blue"))
关于r - 我可以使用 ggplot 分别控制 x 和 y 轴吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6541329/