使用ggplot2绘制多个列

时间:2012-09-08 14:27:27

标签: r plot ggplot2

我需要在同一图表中绘制以下数据集。

Bin1,Bin2,Bin3,Cat
4,3,5,S
6,4,5,M
3,5,4,M
1,4,5,M
 ,5, ,M

在每个bin中,第一个数据点属于与其余bin不同的类别。 (所以我添加了Cat专栏)

我需要将这些绘制为点(不同类别的不同颜色)

以下代码行实现了我对单个bin所需的内容

p <- ggplot(data,aes(Bin1,1))
p + geom_point(aes(color=Cat, size=Cat))

如何为整个数据集执行此操作?


这是一个相关问题?

如果我需要使用一堆列来为点着色,该怎么办?颜色Bin1根据Cat1等指向..

Bin1,Cat1,Bin2,Cat2
4,S,5,S
6,L,5,M
3,M,4,L
1,M,5,L
    3,M

我该怎么做?

2 个答案:

答案 0 :(得分:7)

library(reshape2)
library(ggplot2)
ggplot(melt(df, id.vars = "Cat"), aes(value, variable, colour = Cat)) + 
geom_point(size = 4)

enter image description here

答案 1 :(得分:1)

只需融化数据框并绘制它。

library(reshape2)

dataM <- melt(data, id.vars = "Cat")

p <- ggplot(dataM, aes(value, variable, colour = Cat, size  = Cat) + geom_point()