我有一个R包中的函数返回的ggplot对象。我想在绘制它之前为这个图添加一些元素。但是,我不知道情节限制。有没有办法查询ggplot对象以查找绘图限制?实际上,我真正想要做的只是为后续绘图设置新的限制,但我理解这是不可能的,基于对不同y轴绘制数据的不可能性的讨论。
例如,假设我想在情节的左下角绘制一个小矩形,但不知道情节限制,我不知道该把它放在哪里:
p = function() return(ggplot() + xlim(-2, 5) + ylim(-3, 5) +
geom_rect(mapping=aes(xmin=1, xmax=2, ymin=1, ymax=2)))
gp = p()
gp = gp + geom_rect(mapping=aes(xmin=0, ymin=0, xmax=0.5, ymax=0.5))
print(gp)
答案 0 :(得分:0)
ggplot_build(p)$layout$panel_ranges[[1]][c("x.range","y.range")]
答案 1 :(得分:0)
在 ggplot2 3.0.0 中:
ggplot_build(gp)$layout$panel_params[[1]][c("x.range","y.range")]