根据一列数值,在图表上标出彩色点

5

我有一个包含2列的数据集。使用plot(ds$values)命令会显示所有点的黑色。

现在考虑我有第二列数据,它给出字符串类型的类别。请注意,我不知道这些类别的名称。如何用不同的颜色绘制每个类别?

一个简单的方法是:plot(ds$values, col=someFn(ds$categories))

添加索引可能很好,但不是必需的。

2个回答

6

关键在于将您的分类变量从字符类型转换为因子类型。您只需将其包装在factor中,并将其作为参数传递给plot中的col参数即可。这是一个简单的例子:

set.seed(1)
plot(sample(1:10,20,TRUE), col=factor(sample(letters[1:3],20,TRUE)))

当然,您可能希望选择不同于默认值的颜色调色板。 enter image description here

我有两列布尔值,如何使用这两列来标记不同的颜色,我总共有4种列的组合。 - Kemin Zhou

3
根据上面Thomas的描述:
plot(ds$values, col=factor(ds$categories))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接