簡體   English   中英

用ggplot繪制不同大小的圓

[英]Circles of different size with ggplot

這是我擁有的數據

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')

我想用x軸上的V1和y軸上的V2制作一個ggplot。 該圖應由實心圓組成,其大小指示相互作用的次數。 例如:在x軸==“一個”,y軸=“B”的圓形應該是一個大小取決於在次數的V1V2時,在相同的位置,有一個aV1V2B 是否有意義?

同樣的信息也可以顯示在條形圖上……但是我想嘗試這種圓形表示! 下面是條形圖。

在此處輸入圖片說明

這是我實現此條形圖的代碼

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

這就是我要做的。 您需要將大小映射到出現的次數,對我來說,獲取數據的最簡單方法是使用dcast() reshape2其后的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))

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM