1

我正在创建一个密度图,我必须根据 x 轴值对区域进行着色。我希望将它与缩放结合起来,这样我就可以绘制完整的图,然后放大彩色区域

1)要放大我执行以下操作:

ggplot(data=mpg, aes(x=displ)) +
  geom_density()+
  facet_zoom(ylim = c(0,0.15)) +
  labs(title="title",
       x = "x values",
       y = "density") +
  theme_bw()

这给了我

在此处输入图像描述

  1. 然后为该区域着色,我执行以下操作
g1g <- ggplot(data=mpg, aes(x=displ)) +
  geom_density() +
  labs(title="title",
       x = "x values",
       y = "density") +
  theme_bw()

g1g_df <- ggplot_build(g1g)$data[[1]]

g1g + geom_area(data = subset(g1g_df, 5.8 < x & x < 6.0),
                aes(x=x,y=y),
                fill = "skyblue1", 
                color = "black")

这给了我

在此处输入图像描述

我无法将 facet_zoom 和 geom_area 结合起来,而且我还没有在网上找到可以使用的任何其他好的示例。

理想情况下,我想创建该区域在整个图片中着色的图片,然后我将放大着色区域。然后在放大的部分中,如果能够只绘制 x 轴的特定部分,我尝试将 xlim 添加到 facet_zoom 但它失败了,我猜这是由于我使用 geom_density 造成的。

4

0 回答 0