3

ここに私が持っている種類のデータがあります

V1 = c('a','b','a','b','c','c','c','b','b','a','c','c','c','b','a','a')
V2 = c('A','A','A','B','B','C','A','B','C','C','B','B','B','C','A','B')

V1x軸とV2y軸でggplotを作りたいです。プロットは、サイズが相互作用の数を示す塗りつぶされた円で作成する必要があります。例: x 軸 == 'a', y 軸 = 'B'では、同じ位置にinV1とinがある場合、円は in の回数に応じたサイズにする必要があります。. それは理にかなっていますか?V2aV1BV2

棒グラフでも同じような情報を表示できるのですが… この円表示を試してみたいと思います!下が棒グラフです。

ここに画像の説明を入力

そして、これがこの棒グラフを実装するための私のコードです

ggplot(data=data, aes(factor(Fish_sp), fill=General.substrate)) + geom_bar(stats='bin', position=position_dodge()) + coord_flip() + xlab('Fish species')
4

1 に答える 1

4

これが私がそれを行う方法です。サイズを出現回数にマップする必要があります。そのデータを取得する最も簡単な方法は、dcast()from reshape2followedを使用することmelt()です。次に、プロットは簡単です。

library(reshape2)
dat <- data.frame(V1, V2)
dat.c <- dcast(dat, V1 ~ V2)
dat.m <- melt(dat.c, id.var = "V1")
ggplot(dat.m, aes(V1, variable)) + geom_point(aes(size = value))

ここに画像の説明を入力

于 2013-11-07T12:50:43.660 に答える