我很抱歉问这么愚蠢的问题,但我找不到答案......
所以我把这张 table 称为:“linearsep”:
color x y
1 red 1 1
2 red 1 3
3 red 3 3
4 red 2 4
5 blue 4 1
6 blue 6 3
7 blue 2 -2
8 blue 6 -1
每一行对应一个点(1,1; 1,3等......),我只是想用红色绘制“红色”点,用蓝色绘制“蓝色”点 .
我知道这是相当愚蠢的:但我找不到一种方法来获得前四行的向量 .
我以为是这样的:
情节(linearsep $ color~x,linearsep $ color~y)
但显然它不起作用......我用ggplot测试了一些东西:
ggplot(data=a,
+ aes(x=x, y=y, colour=color)) + geom_point()
哪个有效,但看起来像'黑客',我怎么能得到我想要的矢量?有人可以帮助我...再次抱歉这个愚蠢的问题
2 回答
在基地R:
会给你两种颜色 . 如果
linearsep$color
是一个因子(它可能是),那么颜色将是红色和黑色,因为plot(...)
使用因子级别而不是标签 . 你可以通过将因子转换为字符来解决这个问题 .现在颜色将是红色和蓝色 .
这是完整的电话
现在你可以做到
要么
通过将ggplot分配给p,您可以稍后通过执行
p + ggtitle("Plot Title")
添加更多图层 . 这比再次输入所有内容更容易 .为了只获取蓝色数据或任何其他条件,您可以将其分组并将其分配给新的data.frame或在ggplot调用中执行