ggplot
쉽게 작성하십시오 (긴 양식 데이터가 필요합니다).
library(tidyr); library(dplyr); library(ggplot2)
df <- dat %>% t() %>% as.data.frame() %>% gather(row) # chage data into a long format
Breaks <- hist(dat, plot=F)$breaks # get (or decide) breaks
ggplot(df, aes(x = value, fill = row)) + geom_histogram(position = "stack", breaks = Breaks)
[EDITED]
이 당신이 원하는 무엇인가?
## original
ggplot(df, aes(x = value)) +
geom_histogram(breaks = Breaks) +
facet_wrap(~ row) # make histogram par group.
## modified
ggplot(df, aes(x = value, fill = row)) + # change fill colour
geom_histogram(breaks = Breaks) +
facet_wrap(~ row, ncol = 1) + # bring graphs into line
# facet_wrap(~ row, ncol = 1, scales = "free_y") # if you don't want fixed scale
theme(strip.background = element_blank(), strip.text.x = element_blank()) # delete labels
[EDITED2 : base_plot 방법]
자료 플롯 시간을 절약 할 수 있습니다.
## example data
x <- 1500; y <- 1500; g <- 30
set.seed(1); dat <- matrix(rnorm((x + y) * g), ncol = x + y)
## decide breaks
Breaks <- seq(-4.5, 4.5, 0.5)
## change par() to draw multiple graphs
par.old <- par(mar = c(0.1, 4.0, 0.1, 0.5), oma = c(4, 0, 0, 0), mfrow = c(nrow(dat), 1))
for(i in 1:nrow(dat)) {
hist(dat[,i], breaks = Breaks, xaxt = "n", xlab = "", main = "")
# grid(NULL)
}
par(new=T)
hist(dat[,nrow(dat)], breaks = Breaks, main = "", yaxt = "n",
xlab = "x", ylab = "", border = NA) # add x-axis
par(par.old)
각 행에 대해 개별 막대 점을 원하고 비교를 위해 수직으로 쌓기를 원하십니까? – shayaa
맞습니다. 각 행에는 고유 한 y 축과 공유 된 x 축이 있어야합니다. – Arturo