在我的geom_plot上更改手动颜色

时间:2018-01-17 12:34:30

标签: r ggplot2

我遇到了问题并且正在搜索和搜索。我对这个R代码真的很陌生。我有两个不同的值来自我的性别数组1 =男性,2 =女性。

我无法弄清楚如何将比例从渐变变为1和2颜色,以及如何为女性和男性制作不同的颜色。我关闭了,但不能做最后的工作:(

ggplot(smokingdata, aes(x=ages, y=consume, col=gender)) +
geom_point() + ylim(0, 80)

跳过有人可以帮助我。

2 个答案:

答案 0 :(得分:1)

这里的真正问题是您的数据未正确指定。 gender是一个离散变量,存储为数值,因此ggplot2将其视为连续变量。只需将此变量转换为一个因子,您就会得到一个离散的色标。

ggplot(smokingdata, aes(x=ages, y=consume, col=as.factor(gender))) +
geom_point() + ylim(0, 80)

但是,这不会产生一个非常有用的传奇。修改数据框以准确表示变量将产生最佳结果:

smokingdata$gender <- factor(smokingdata$gender, levels = c(1,2), labels = c("Male", "Female"))
ggplot(smokingdata, aes(x=ages, y=consume, col=gender)) +
geom_point() + ylim(0, 80)

答案 1 :(得分:0)

您可以向scale_color_manual提供名为或未命名的向量。因此,如果您的性别列编码为1&amp; 2,你可以使用scale_color_manual(values = c("1" = "purple", "2" = "orange"))。请注意,如果您使用性别数字,则需要将这些数字转换为字符,以便在命名向量中作为名称使用。

您还可以将性别列更改为字符向量而不是数字向量;这样,ggplot会将其视为离散变量,而不是连续变量。