首页 > 解决方案 > 绘图时,如何过滤掉ggplot2中总和<10的值?

问题描述

我有一个包含几列的数据列表:selected, total, location. Location绘制在 x 轴和selectedy 轴上。但是,我希望过滤掉总数小于 10 的值selected

到目前为止,对于我正在使用的情节:

ggplot(rawdata) + 
  geom_point(aes(x=location, y=selected)) + 
  geom_smooth(aes(x=location, y=selected, se=F)) +
  labs(
  title="All bins, selected", 
  x="location", 
  y="selected")

有没有办法做到这一点ggplot2?我假设我们会使用一个if语句来包含第三列,但我什至不确定我所问的是否可能。

标签: rggplot2plot

解决方案


您可以filter()在 ggplot 数据参数中调用数据集时使用。在下面的示例中,我过滤掉了小于 10 的“cty”值。

library(tidyverse) 

ggplot(data = filter(mpg, cty >= 10), aes(x = hwy, y = cty)) + 
  geom_point()

推荐阅读