如何使用饼图来使用facet_wrap?

max*_*oda 2 r

Seasons Frequency1  Frequency2
DJF      497        500
JJA      999        700
MAM      695        2000
SON      245        1000
Run Code Online (Sandbox Code Playgroud)

您好,我正在使用此数据框制作多个饼图(一个使用Frequency1,另一个使用Frequency2)。我知道如何使用melt和facet_wrap(~id)。但这里我必须汇集数据(不知道如何表达)。我不想按季节进行 Facet_wrap。

我怎样才能以可以并排制作两个饼图的方式融合数据。我只使用Frequency1 制作了一个。

在此输入图像描述

谢谢!

Sve*_*ein 5

这是一种使用 生成带有分面的饼图的方法ggplot2

数据:

dat <- read.table(text = "Seasons Frequency1  Frequency2
DJF      497        500
JJA      999        700
MAM      695        2000
SON      245        1000", header = TRUE)
Run Code Online (Sandbox Code Playgroud)

将数据转换为长格式:

library(reshape2) 
dat2 <- melt(dat)
Run Code Online (Sandbox Code Playgroud)

创建情节:

library(ggplot2)
ggplot(dat2, aes(x = "", y = value, fill = Seasons)) + 
  geom_bar(stat = "identity", width = 1, position = position_fill()) +
  coord_polar(theta = "y") + 
  facet_wrap( ~ variable)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 添加以下行标记左侧的饼图: `+ scale_y_continuous(breaks = c(0.1, 0.4, 0.75, 0.95), labels = as.character(dat$Seasons))` 据我所知,您可以'与“coord_pol”没有独立的比例,因此您必须结合两个发布的解决方案。您必须制作两个图并使用上面提到的“grid.arrange”函数。有没有人告诉过您饼图在数据可视化中没有地位?(这可能是它不是默认 ggplot geom 的原因之一) (2认同)