我是使用R的新手,我尝试使用两个不同的数据集进行图表处理。
我知道我可以这样做:
ggplot() + geom_point(data = dataset1, mapping = aes(x = ..., y = ...)) + geom_point(data = dataset2, mapping = aes(x = ..., y = ...))
但是,如果我想通过数据集2中的离散变量对代码进行颜色处理,并且我不想使用dataset2绘制任何内容?所以,理论上......
ggplot(data = c(dataset1, dataset2)) + geom_point(mapping = aes(x = dataset1var, y = dataset1var, color = dataset2var)
所以我想绘制沿x和y轴的一个数据集中的点,然后使用来自另一个数据集的数据对这些绘制的点进行颜色编码。这两个数据集都在同一个库中。
答案 0 :(得分:1)
您不需要填充data
字段,因此您可以将向量(即:列)直接传递给参数。例如:
ggplot() +
geom_point( aes( x = dataset1$x,
y = dataset1$y,
col = dataset2$col ) )
确保这些矢量长度相同。换句话说,两个data.frame
对象应该具有相同的行数。
这是一个工作示例,不需要您自己的数据。这将向您展示它是如何工作的,这样您就可以将它应用到您自己的数据中。
set.seed(42)
ggplot() +
geom_point( aes( x = 1:10,
y = 10:1,
col = factor(sample(1:10)) )
)