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

我想V1在 x 轴和V2y 轴上制作一个 ggplot。该图应由实心圆圈组成,其大小表示交互次数。例如:在 x-axis == 'a', y-axis = 'B' 中,圆的大小应取决于 in 的次数V1以及V2何时在同一位置有 a ainV1和 a Bin的时间V2. 是否有意义?

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

在此处输入图像描述

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

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 reshape2follow 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 回答