【问题标题】:ggplot query or change plot limitsggplot 查询或更改绘图限制
【发布时间】:2016-10-13 23:12:20
【问题描述】:

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

【问题讨论】:

  • 请添加一个可重现的示例。关于如何做到这一点的一些想法显示here
  • "有没有办法查询 ggplot 对象以找到绘图限制?"当然NP。给我一个可重现的例子,我会告诉你。

标签: r ggplot2 limits


【解决方案1】:

ggplot2 3.0.0中:
ggplot_build(gp)$layout$panel_params[[1]][c("x.range","y.range")]

【讨论】:

    【解决方案2】:
    ggplot_build(p)$layout$panel_ranges[[1]][c("x.range","y.range")]
    

    【讨论】:

    • 谢谢。这没有用,但导致我执行以下操作:ggplot_build(gp)$panel$ranges[[1]][c("x.range","y.range")]
    • 可能不同的ggplot2版本,随意编辑
    猜你喜欢
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多