有没有办法可以在R中创建散点图并按类别对点进行着色?例如,我有一个包含x和y点列表的数据集(两列都是' Xpoints' Y"'有0到100的比例),但每个点组合了x& y点属于五个类别之一(在第三列'类别')。 我想绘制所有组合的x& y点和每个点按其各自的类别着色。 我猜这五个类别必须在另一列中分配数字1到5。但是要绘制这个的代码是什么?
答案 0 :(得分:2)
使用广泛用于此类应用的ggplot2
包。
# toy data
my_data <- data.frame(x = sample(1:100, replace = T, 100),
y = sample(1:100, replace = T, 100),
cat = sample(c('first', 'second', 'third'), replace = T, 100)
)
# required packages
require(ggplot2)
# make the graph
ggplot(data = my_data, aes(x = x, y = y, color = cat)) +
geom_point()
ggsave(height = 4, width = 4, filename = 'SO36801313.png')
答案 1 :(得分:0)
对于图形包Lattice
来说,这是一项非常简单的任务。它专为多变量分析而设计,可以轻松处理。
我加载数据集iris
以提供示例。
library(lattice)
data("iris")
names(iris)
Lattice
允许立即多面图,根据第三个图显示两个变量之间的关系。在这种情况下,我们检查了花的萼片长度和萼片宽度之间的关系,但是对于数据集中的每个species
。它用公式x ~ y | z
表示。
xyplot(Sepal.Length ~ Sepal.Width | Species, data = iris)
xyplot(Sepal.Length ~ Sepal.Width, data = iris,
groups = Species,
auto.key = TRUE)
对于您的情况,我们将在单个标准图中绘制所有观察结果。在这种情况下,参数groups
将根据您选择的条件自动为每个观察着色,在这种情况下,再次species
。