Seasons Frequency1 Frequency2
DJF 497 500
JJA 999 700
MAM 695 2000
SON 245 1000
嗨,我正在使用这个数据框制作多个饼图(一个使用Frequency1,另一个使用Frequency2)。我知道如何使用melt和facet_wrap(~id)。但在这里我必须汇集数据(不知道如何表达它)。我不想要四季的Facet_wrap。
如何以一种我可以并排制作两个饼图的方式融合数据。我只使用了Frequency1。
谢谢!
答案 0 :(得分:2)
这是使用ggplot2
生成带分面的饼图的方法。
数据:
dat <- read.table(text = "Seasons Frequency1 Frequency2
DJF 497 500
JJA 999 700
MAM 695 2000
SON 245 1000", header = TRUE)
将数据转换为长格式:
library(reshape2)
dat2 <- melt(dat)
创建情节:
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)
答案 1 :(得分:0)
如果你真的想融化并使用方面,那么:
library(reshape2)
molten_df <- melt(your_df, id.var='Seasons')
现在,molten_df将有一个名为&#39;变量&#39;的列。你可以用于方面:
+facet_grid(facets=.~variable)
但是,如果你只想并排两张图表,你也可以安排它们。我发现gridExtra包对此非常方便:
library(gridExtra) # will also load the grid package. install these if needed.
# however you are creating your charts
plot1 <- ... #your code here
plot2 <- ... #your code here
# side by side
grid.arrange (plot1, plot2, ncol=2)