ggplot查询或更改绘图限制

时间:2016-10-13 23:12:21

标签: r ggplot2 limits

我有一个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)

2 个答案:

答案 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")]