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

时间:2015-07-20 11:12:56

标签: 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

这是我用过的代码。

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")

这是我得到的输出。 enter image description here

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

  1. 我希望手动将颜色设置为此分类变量(Attending_Education \ Not_AE)。例如。 Attending_Education的深绿色和Not_AE的红色。

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

  3. 我刚接触到R.我曾尝试过调色板(),在链接下面找到@。但似乎没什么用 How to assign specfic colours to specifc categorical variables in R?

    注意:请查看我的要求。

     Categories           Attending_Education			Not_AE
    Working		Green color\Round Shape		Red Color\Round shape
    Not_Working	Green color\Triangle Shape	Red Color\Triangle shape

    感谢您的帮助。感谢你们所有人。

1 个答案:

答案 0 :(得分:1)

对于第一个问题,您需要使用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"))

对于你的第二个,我不清楚你想要什么。经济活动表现为形状,而不是颜色。那么在那个传奇中有深绿色/红色的含义是什么意思?