繁体   English   中英

使用map2(〜ggplot ...时如何设置y轴限制?

How to set y axis limits when using map2(~ggplot…?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

使用purrr::map2时,如何在每个图中设置不同的y轴限制?

我想将y轴下限设置为最大y轴值的一半,例如: max(y-axis value/2)

data(mtcars)

library(tidyverse)

mtcars_split <- 
  mtcars %>%
  split(mtcars$cyl)


plots <- map2(
  mtcars_split,
  names(mtcars_split),
  ~ggplot(data = .x, mapping = aes(y = mpg, x = wt)) + 
    geom_jitter() +
    ggtitle(.y)+
  scale_y_continuous(limits=c(max(.y)/2,NA))

)

plots

max(.y)/ 2中的错误:二进制运算符的非数字参数

2 个回复

.y是数据框的名称,这就是为什么max(.y)/2会给您该错误的原因。 这应该给您您想要的:

plots <- imap(
  mtcars_split,
  ~ggplot(data = .x, mapping = aes(y = mpg, x = wt)) + 
    geom_jitter() +
    ggtitle(.y) +
    scale_y_continuous(limits=c(max(.x$mpg)/2,NA))
)

请注意, imap(x, ...)只是map2(x, names(x), ...)简写。

这基于y轴值不起作用,但是如果您不介意两次指定y列,则可以完成工作:

plots <- map2(
  mtcars_split,
  names(mtcars_split),
  ~ggplot(data = .x, mapping = aes(y = mpg, x = wt)) + 
    geom_jitter() +
    ggtitle(.y)+
  scale_y_continuous(limits=c(max(.x$mpg)/2,NA))

)

或更安全的选择:

plots <- map2(
    mtcars_split,
    names(mtcars_split),
    ~{
        ploty <- 'mpg'
        plotx <- 'wt'
        ggplot(data = .x, mapping = aes_string(y = ploty, x = plotx)) + 
        geom_jitter() +
        ggtitle(.y)+
        scale_y_continuous(limits=c(max(.x[[ploty]])/2,NA))
    }
)
1 在R中使用ggplot()时,y轴比例限制不起作用

我有两个ggplot()图p1和p2 。 因此,我希望两者都具有相同的ylim() 。 这是我用于p1的脚本: 这是我用于p2的脚本: 但是,如下图所示,y轴不匹配。 不仅如此,即使指定了scale_y_continuous(breaks = scales::pretty_ ...

2019-09-30 16:51:20 1 23   r/ ggplot2
2 在 ggplot2 中使用 facet_grid() 时如何定义常见的 y 轴限制

我的第三个帖子在这里。 我正在使用ggplot2线条和区域与facet_grid()引导绘图设计。 该代码运行良好。 这是我使用的数据: 现在这是我的情节: 这产生了这个婴儿: 直到这里一切都很好。 我想是否可以修改两个元素: 如何减少两个面之间的垂直空间,以便在视觉上只有一个 ...

2020-12-18 21:54:04 1 40   r/ ggplot2
3 如何设置y轴的限制?

从这个演示http://bl.ocks.org/mbostock/3883245开始,如何将y轴更改为0到1000? 我尝试设置'域'(添加第二行) 但它没有任何区别。 ...

2014-12-10 23:50:09 1 89   d3.js
4 R:使用qmap(ggplot2)时设置X和Y限制

我正在尝试使用qmap(ggmap的一部分)创建地图。 这是一个示例代码,通过问题进行说明。 这有点愚蠢,但是比使用我自己的数据更干净。 所以这是我的问题:我想放大国会大厦周围的区域(zoom = 15),以获得大量的街道细节。 但我也想在地图中包括华盛顿纪念碑。 为此,我想扩展 ...

6 使用闪亮的dateRangeInput在ggplot中设置轴限制

我正在使用R / Shiny应用程序,该应用程序使用dateRangeInput的输出来设置ggplot2图中的x轴限制。 使用dateRangeInput子集数据可以很好地工作,但是我无法获得scale_x_date(或scale_x_continuous或scale_x_datetime) ...

7 使用gganimate时如何使y轴限制动态

我有一个动画情节,我想制作最终值远高于其他值的地方。 我希望 y 轴随值而变化,以便在显示最终值时它会更改 y 轴并缩小其余数据。 我试过 view_follow 但这只会改变 x 轴,而不是 y 轴。 这是一些重现我的问题的示例代码 有谁知道如何更改 y 轴,使其随时间变化的最大值? 谢谢 ...

8 如何在ggplot2中设置日期轴限制?

这是我的数据: 我正在尝试使用以下代码打印我在 R 中制作的绘图的 tiff 图像。 这导致附加的图像显示额外的月份和 2020 年 2 月被截断。 但是,即使我在scale_x_date()包含了limits参数,该图也不会在这些日期被切断。 我已经尝试了这个本质上相同的问题的解决方 ...

9 如何扩展 ggplot y 轴限制以包括最大值

通常在绘图中,Y 轴值标签在绘制的最大值以下被截断。 我知道 scale_y_continous - 但我想不出一个聪明的方法来做到这一点。 也许我只是想多了。 我不想弄乱自动生成的“智能”中断。 我可能会尝试手动解决这个问题...... 但这不像我上面提到的那样工作,因为“智能休息” ...

2018-11-29 05:07:39 3 4000   r/ ggplot2
10 设置 y 轴限制 R

我正在尝试绘制直方图,并尝试了以下操作。 首先我试过这个 x&lt;-hist(t$Sum_of_OHR.s,breaks=c(0,0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,0.70.80.50.5 ,0. ...

2013-11-06 13:28:49 1 2359   r
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM