R根据dataframe中的另一列手动输入颜色

R根据dataframe中的另一列手动输入颜色,r,R,我试图创建一个散点图,每个点都有一个与第三个变量关联的颜色。我想使用我自己独特的颜色,因为我试图使用颜色指示来显示每个点的严重性,这将在我的所有数据集中保持一致 我首先创建了颜色: > color_associations <- data.frame(z = c("this","that","the other"),color = c("red", "black", "yellow")) 看起来像这样,我的颜色是默认的R颜色 当我尝试这个的时候也会发生同样的事情 ggplot(d

我试图创建一个散点图,每个点都有一个与第三个变量关联的颜色。我想使用我自己独特的颜色,因为我试图使用颜色指示来显示每个点的严重性,这将在我的所有数据集中保持一致

我首先创建了颜色:

> color_associations <- data.frame(z = c("this","that","the other"),color = c("red", "black", "yellow"))
看起来像这样,我的颜色是默认的R颜色

当我尝试这个的时候也会发生同样的事情

ggplot(data1, aes(x,y, color = z)) + geom_point(fill = data1$color) +
scale_fill_manual(values = data1$color)

如何让我的颜色显示出来?有没有办法将数据中未显示的颜色包含在图例中?(例如:data2没有“that”,但它是否可以在图例中显示颜色?——也就是说,我可以使用原始颜色关联数据框为图表着色?

默认情况下,点没有填充。它们有颜色。确保设置
color=
属性,而不是
fill=
并使用
scale\u color\u manual
not
scale\u fill\u manual
默认情况下,点没有填充。它们有颜色。确保设置
color=
属性,而不是
fill=
,并使用
scale\u color\u手动
not
scale\u fill\u手动
z
<fctr>
x
<dbl>
y
<dbl>
color
that    2   2   black   
that    5   5   black   
the other   3   3   yellow  
this    1   1   red 
this    4   4   red
ggplot(data1, aes(x,y, color = z)) + geom_point(fill = data1$color)
ggplot(data2, aes(x,y, color = z)) + geom_point(fill = data2$color)
ggplot(data1, aes(x,y, color = z)) + geom_point(fill = data1$color) +
scale_fill_manual(values = data1$color)