distr包 - 如何在一个窗口中绘制两个图?

时间:2012-08-31 02:45:10

标签: r plot ggplot2

我正在使用distr来构建以下发行版:

library(distr)

G1 <- Gammad(shape=1.64, scale=0.766)
G2<- Gammad(shape=0.243, scale=4.414)

现在为了比较这两个发行版,我需要在一个窗口中绘制它们,但我不知道如何。我试过了ggplot,但显然它不能用于伽玛函数。

1 个答案:

答案 0 :(得分:4)

使用ggplot

您可以使用stat_function

例如

# data that defines the range of x values you are interested in
DF <-data.frame(x = c(1,8))
ggplot(DF, aes(x=x)) + 
  stat_function(fun = d(G1), aes(colour = 'G1')) + 
  stat_function(fun = d(G2), aes(colour = 'G2')) + 
  scale_colour_manual('Distribution', 
           values = setNames(c('red', 'blue'), c('G1', 'G2')))

enter image description here

使用基础

distr::plot的帮助文件显示了如何组合图表。

您需要自己设置mfrow(或mfcol),然后在情节调用中设置mfColRow =FALSE

例如:

par(mfrow=c(2,3))
plot(G1, mfColRow=F)
plot(G2, mfColRow=F)

enter image description here