【发布时间】:2019-06-27 22:27:19
【问题描述】:
我正在尝试调整我的绘图上刻度线的位置,使它们沿着轴而不是绘图的周边(这是默认设置)。我尝试在ggplot2 中使用axis.ticks 参数,但这不起作用。以下是一些示例数据和生成我正在使用的图表所需的代码:
library(ggplot2)
dat <- data.frame(v1 = c(1, 3, -2, 2, 1, 4, -2, 2),
v2 = c(-1, 2, 1, -3, 4, 1, -1, 2))
p = ggplot()
p + geom_point(aes(dat$v1, dat$v2) ,shape = 21, size = 3) +
geom_vline(xintercept = 0, linetype = "dashed") +
geom_hline(yintercept = 0, linetype = "dashed") +
theme_bw()
请就任何可用于将刻度线移动到轴上而不是图形区域外边缘的包、函数或参数提供建议。
【问题讨论】:
-
这不是,或者至少不是,特别容易做到……但这里有几个链接stackoverflow.com/questions/39071002/…、stackoverflow.com/questions/20960049/…、stackoverflow.com/questions/17753101/…。顺便说一句,这在基础 R 图中是直截了当的。
-
在
aes()中不需要$;只是aes(v1, v2)。 -
我认为当前仅使用
geom_vline和geom_hline的解决方案可以正常工作。它指示 x = 0 和 y = 0,将绘图划分为象限,并允许快速检查点所在的象限,而不会用刻度和数字弄乱绘图的主体。我怀疑这也是ggplot2设计师的论点。