gpt4 book ai didi

r - 不同大小的圆圈与ggplot

转载 作者:行者123 更新时间:2023-12-04 02:41:32 27 4
gpt4 key购买 nike

这是我的数据类型

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

我想用 V1 制作一个 ggplot在 x 轴和 V2在 y 轴上。该图应由实心圆圈组成,其大小表示交互次数。例如:在 x 轴 == 'a',y 轴 = 'B' 中,圆的大小应取决于 V1 中出现的次数。和 V2当,在同一个位置,有一个 aV1和一个 BV2 .有道理吗?

同样的信息也可以显示在条形图上……但我想试试这个圆圈表示法!下面是条形图。

enter image description here

这是我实现这个条形图的代码

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

最佳答案

这是我的做法。您需要将大小映射到出现的次数,我获取该数据的最简单方法是使用 reshape2 中的 dcast(),然后是 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))

enter image description here

关于r - 不同大小的圆圈与ggplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19835769/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com