首页 > 解决方案 > 如何用ggplot留出x的某些数值?

问题描述

我有一个连续的比例,包括一些编码不同类别缺失的值(例如998,999),我想制作一个不包括这些数字缺失值的图。

由于这些值是在一起的,我可以xlim每次都使用,但由于它决定了绘图的域,我必须为每个不同的情况更改值。

然后,我寻求解决方案。我认为有两种可能。

提前致谢。

标签: rplotggplot2

解决方案


我认为最简单的方法是在 ggplot 调用之前或期间在图中排除这些值。

MWE

library(tidyverse)

# Create data with overflowing data
mtcars2 <- mtcars
mtcars2[5:15, 'mpg'] <- 998

# Full plot
mtcars2 %>% ggplot() +
   geom_point(aes(x = mpg, y = disp))

绘图前过滤

mtcars2 %>% 
   filter(mpg < 250) %>% 
   ggplot() +
   geom_point(aes(x = mpg, y = disp))

在绘图期间过滤

mtcars2 %>% 
   ggplot() +
   geom_point(aes(x = mpg, y = disp), data = . %>% filter(mpg < 250))

推荐阅读