2

ggplot2 を使用してバブル プロットを実行できます。今度は、1 つの列をクラスタリングしてから、バブル プロットを実行します。どうやってやるの?プロットは次のようになります。画像は次のようになります

プロット

ここに私のダミーデータがあります

x=data.frame(
group=c("A","A","B","B","C","C","C","D","D"),
item=c("apple","pear","apple","peach","orange","cherry","apple","banna","apple"),
count=c(3,5,5,1,9,7,3,2,4))

ここに私のスクリプトがあります:

library(ggplot2)

xf=x$item
xfu=unique(xf)
x$item=factor(xf,levels=xfu)
p<-ggplot(x)
p + geom_point(aes(x = group, y = item,size= count),las=2,shape=16,
alpha=0.80) +
scale_size_continuous(breaks=c(1,2,3,4,5,6,7,8,9),
labels=c("1","2","3","4","5","6","7","8","9"))+
theme(axis.text.x = element_text(angle = 45, hjust = 
1.1,size=11,colour="black",face="bold"),
axis.text.y = element_text(size=11,colour="black"),
axis.title.y = element_text(size=12,colour =
"black",face="bold",vjust=0.12))+
labs(x="",y = "Item")

ここで、項目データの階層的クラスタリングを実行して、より明確なパターンを取得したいと考えています。アイテムの順序は重要ではありません。どうやってやるの?

4

1 に答える 1

1

バブルをどのように拡大してオーバーラップさせるかを尋ねる場合は、パラメーターのsize= 外側aes()で明示的に設定する必要があります (以下のように)。geom_text()呼び出しでラベルを追加しました。

ただし、ある順序に基づいて列をまとめてクラスター化する場合は、プロットする連続変数が必要です (実証するには詳細情報が必要です)。

xf=x$item
xfu=unique(xf)
x$item=factor(xf,levels=xfu)
p<-ggplot(x)
p + geom_point(aes(x = group, y = item), size=15+x$count*7, las=2,shape=21, fill="white", alpha=0.80) +
geom_text(aes(x = group, y = item, label=count), fontface="bold", size=7) +
  theme(axis.text.x = element_text(angle = 45, hjust = 
                                     1.1,size=11,colour="black",face="bold"),
        axis.text.y = element_text(size=11,colour="black"),
        axis.title.y = element_text(size=12,colour =
                                      "black",face="bold",vjust=0.12),
        panel.grid.major = element_line(linetype = "dashed", size=1, color="black"))+
  labs(x="",y = "Item")

ここに画像の説明を入力

于 2013-12-02T05:08:19.680 に答える