Я работал с ggplot2 и особенно с гистограммой, у меня есть 3 разные гистограммы с разными размерами (1-й: n = 12, 2-й: n = 11, 3-й: n = 13).
Я их объединилиспользуя grid.arrange(g1, g2, g3, ncol = 1)
, что хорошо.
Но чтобы быть более сравнительным, мне нужно собрать их вместе (бок о бок), как на этом графике (с процентом в моем случае в качестве оси y)
* Примечание У меня разные размеры
Это мой код:
library(ggplot2)
P<-read.table("try11.txt", sep = "", header = F)
N<-read.table("try22.txt", sep = "", header = F)
D<-read.table("try33.txt", sep = "", header = F)
# Converted into list
Ps = unlist(P)
Non = unlist(N)
Ds = unlist(D)
dat1 <- data.frame(dens1 = c(Ps), lines1 = rep(c("A"), by = length(Ps)))
dat2 <- data.frame(dens2 = c(Ds), lines2 = rep(c("B"), by = length(Ds)))
dat3 <- data.frame(dens3 = c(Non), lines3 = rep(c("C"), by = length(Non)))
dat1$veg <- 'A'
dat2$veg <- 'B'
dat3$veg <- 'C'
colnames(dat1) <- c("x", "Y")
colnames(dat2) <- c("x", "Y")
colnames(dat3) <- c("x", "Y")
# Plot each histogram
g1 <- ggplot(dat1, aes(dat1$x, fill = dat1$Y)) +
geom_histogram(bins = 150, alpha = 0.3, color = "orange",
aes(y = (..count..)/sum(..count..)), position = 'identity') +
scale_x_continuous(trans='log10') +
scale_y_continuous(labels = percent, limits = c(0,1)) +
labs(x = "", y = "") +
theme_bw() +
theme(panel.border = element_rect(colour = "black"),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
legend.title = element_blank())
g2 <- ggplot(dat2, aes(dat2$x, fill = dat2$Y)) +
geom_histogram(bins = 150,alpha = 0.3, color="purple", aes(y = (..count..)/sum(..count..)),
position = 'identity') +
scale_x_continuous(trans = 'log10') +
scale_y_continuous(labels = percent, limits = c(0,1)) +
labs(x = "") +
theme_bw() +
theme(panel.border = element_rect(colour = "black"),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
legend.title=element_blank())
g3 <- ggplot(dat3, aes(dat3$x, fill = dat3$Y)) +
geom_histogram(bins = 150,alpha = 0.3, color="black",
aes(y = (..count..)/sum(..count..)), position = 'identity') +
scale_x_continuous(trans = 'log10') +
scale_y_continuous(labels = percent, limits = c(0,1)) +
labs(x="X Values", y="") +
theme_bw() +
theme(panel.border = element_rect(colour = "black"),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
legend.title = element_blank())
library(gridExtra)
grid.arrange(g1, g2, g3, ncol = 1)
А вот мои входные файлы:
try11.txt:
2.98669E-06
3.37203E-06
7.0028E-06
8.50885E-06
8.71491E-06
8.9869E-06
9.59295E-06
9.96175E-06
9.97605E-06
1.00225E-05
9.59295E-06
9.59295E-06
try22.txt:
6.07E-09
1.07E-08
1.18E-08
1.41E-08
1.57E-08
1.57E-08
1.68E-08
1.75E-08
1.77E-08
1.95E-08
1.77E-08
try33.txt:
1.93E-07
2.25E-07
2.84E-07
3.00E-07
3.38E-07
4.33E-07
4.87E-07
5.20E-07
5.23E-07
5.46E-07
5.23E-07
4.33E-07
2.84E-07
И вот что я получил:
Я новичок в R, чтобы знать эти более сложные функции, любая помощь будет оценена.