[英]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”的圓形應該是一個大小取決於在次數的V1
和V2
時,在相同的位置,有一個a
在V1
和V2
的B
是否有意義?
同樣的信息也可以顯示在條形圖上……但是我想嘗試這種圓形表示! 下面是條形圖。
這是我實現此條形圖的代碼
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.