3

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

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

在每个 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

我该怎么做呢??

4

2 回答 2

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

在此处输入图像描述

于 2012-09-08T17:29:40.983 回答
1

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

library(reshape2)

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

p <- ggplot(dataM, aes(value, variable, colour = Cat, size  = Cat) + geom_point()
于 2012-09-08T14:52:29.610 回答