2

さまざまな種類のアクティビティを表す一連の色付きの小さな正方形をプロットしようとしています。たとえば、次のデータフレームでは、typeはアクティビティのタイプを表し、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) )

ggplotでは、今ではcountを使用していません。連続した数値をx値として、1をy値として指定しているだけです。ただし、 ggplot Imageのようなものが表示 されます。これは私が使用したコードです。yの場合は常に1を使用し、xiの場合は連続した数字のみを使用することに注意してください。

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

width = df3$countの小さな正方形を取得したいと思います。

何か提案はありますか?前もって感謝します

4

1 に答える 1

2

私はあなたが何を必要としているかについて完全には明確ではありませんが、あなたのデータをプロットするための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()

ここに画像の説明を入力してください

于 2012-07-13T19:50:25.943 に答える