如何使用 ggplot() 手动设置分类变量的颜色?

Vee*_*jan 2 r ggplot2 categorical-data

这是我的示例数据:

table1
   xaxis    yaxis                  ae        work
1      5    35736 Attending_Education     Working
2      6    72286 Attending_Education     Working
3      7   133316 Attending_Education     Working
4      8   252520 Attending_Education     Working
5      9   228964 Attending_Education     Working
6     10   504676 Attending_Education     Working
Run Code Online (Sandbox Code Playgroud)

这是我使用过的代码。

p<-ggplot(table1,aes(x=table1$xaxis,y=table1$yaxis))

Economic_Activity<-factor(table1$work)
Education_Status<-factor(table1$ae)

p<-p+geom_point(aes(colour=Education_Status,shape=Economic_Activity),size=4)
p+xlab("Population Ages")+ylab("Attending Education Institutions Count")+ggtitle("Attending Educational Institutions by Economic Activity Status :: INDIA 2001")
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出。 在此输入图像描述

我希望在此图中做两件事。

  1. 我希望手动为这些分类变量设置颜色(Attending_Education\Not_AE)。例如。深绿色表示 attend_Education,红色表示 Not_AE。

  2. 在经济活动的传说中,我不需要黑色来表示工作\不工作类别。我需要深绿色和红色。

我是 R 新手。我也尝试过调色板(),也发现了@下面的链接。但似乎没有任何作用 如何将特定颜色分配给 R 中的特定分类变量?

注:请看我的要求。

table1
   xaxis    yaxis                  ae        work
1      5    35736 Attending_Education     Working
2      6    72286 Attending_Education     Working
3      7   133316 Attending_Education     Working
4      8   252520 Attending_Education     Working
5      9   228964 Attending_Education     Working
6     10   504676 Attending_Education     Working
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助。谢谢大家。

Nic*_*edy 5

对于第一个问题,您需要使用scale_colour_manual

p +
  xlab("Population Ages") +
  ylab("Attending Education Institutions Count") +
  ggtitle("Attending Educational Institutions by Economic Activity Status :: INDIA 2001") +
  scale_colour_manual(values = c("Attending_Education" = "dark green", "Not_AE" = "red"))
Run Code Online (Sandbox Code Playgroud)

对于你的第二个,我不清楚你想要什么。经济活动以形状而非颜色来表示。那么该图例中深绿色/红色的含义是什么?