2012-09-08 104 views
3

我需要在同一图表中绘制以下数据集。使用ggplot2绘制多列

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

在每个bin中,第一个数据点属于与其余类别不同的​​类别。 (所以我加入了猫列)

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

下面的代码行数达到我需要一个单打

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

我如何为整个数据集做这件事?


这是一个相关的问题?

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

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

我该如何做?

回答

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

enter image description here

+0

相关问题已增加到原始问题..提前。 – lochi

1

只需融化data.frame并绘制它。

library(reshape2) 

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

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

感谢。但这不是我想要的。我需要Y轴上的Bin No 1,2,3和X轴上的数据点。需要为数据集中的所有箱使用同一组颜色和形状。 – lochi

+0

我编辑了我的答案,它不是我清楚你想从你的Q. –

+0

增加了一个相关的问题原来的问题.. – lochi