如何放大 ggplot2 中分类变量的特定值范围?

How to zoom in on a specific range of values for a categorical variable in ggplot2?

我只想放大 mpg 数据框中值 fordnissan 之间的 x 轴。

使用的包:tidyverse

但是我在使用 coord_cartesian() 函数时遇到以下错误:

   p<-ggplot(mpg,aes(x=manufacturer,y=class))

   p+geom_point()+    +         coord_cartesian(xlim = c('ford','nissan'))

Error in +coord_cartesian(xlim = c("ford", "nissan")) : invalid argument to unary operator

您可以使用 ggforce 包 (facet_zoom) 中的上下文缩放功能来实现此目的:

# loading needed libraries
library(ggplot2)
library(ggforce)

# selecting variables to display
names <- as.vector(unique(mpg$manufacturer))
selected.names <- names[4:11]

# zooming in on the axes
ggplot(mpg, aes(x = manufacturer, y = class)) +
  geom_jitter() +
  facet_zoom(x = manufacturer %in% selected.names)

reprex package (v0.2.0) 创建于 2018-07-01。