ggplot модели на последователност

Опитвам се да начертая последователност от цветни малки квадратчета, представящи различни видове дейности. Например в следния кадър с данни типът представлява типа дейност, а броят представлява колко от тези дейности са се случили преди да се извърши „различно въведена“.

df3 <- data.frame(type=c(1,6,4,6,1,4,1,4,1,1,1,1,6,6,1,1,3,1,4,1,4,6,4,6,4,4,6,4,6,4),
      count=c(6,1,1,1,2,1,6,3,1,6,8,10,3,1,2,2,1,2,1,1,1,1,1,1,3,3,1,17,1,12) )

В ggplot досега не използвам count. Просто давам последователни числа като стойности x и 1 като стойности y. Въпреки това ми дава нещо като ggplot Image Това е кодът, който използвах, имайте предвид, че за y винаги използвам 1 и за x използвам само последователни числа:

 ggplot(df3,aes(x=1:nrow(df3),y=rep(1,30))) + geom_bar(stat="identity",aes(color=as.factor(type)))

Бих искал да получа малки квадратчета с width=df3$count.

Имаш ли някакви предложения? Благодаря предварително


person DJMJ    schedule 13.07.2012    source източник


Отговори (1)


Не съм напълно наясно от какво се нуждаете, но предлагам един възможен начин да начертаете вашите данни. Използвал съм geom_rect(), за да начертая правоъгълници с ширина, равна на вашата колона count. Правоъгълниците се изчертават в същия ред като редовете с вашите данни.

df3 <- data.frame(type=c(1,6,4,6,1,4,1,4,1,1,1,1,6,6,1,
                         1,3,1,4,1,4,6,4,6,4,4,6,4,6,4),
                 count=c(6,1,1,1,2,1,6,3,1,6,8,10,3,1,2,
                         2,1,2,1,1,1,1,1,1,3,3,1,17,1,12))

library(ggplot2)

df3$type <- factor(df3$type)
df3$ymin <- 0
df3$ymax <- 1
df3$xmax <- cumsum(df3$count)
df3$xmin <- c(0, head(df3$xmax, n=-1))

plot_1 <- ggplot(df3, 
              aes(xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, fill=type)) +
          geom_rect(colour="grey40", size=0.5)

png("plot_1.png", height=200, width=800)
print(plot_1)
dev.off()

въведете описание на изображението тук

person bdemarest    schedule 13.07.2012
comment
Благодаря! Това е много полезно! - person DJMJ; 16.07.2012