我遇到了问题并且正在搜索和搜索。我对这个R代码真的很陌生。我有两个不同的值来自我的性别数组1 =男性,2 =女性。
我无法弄清楚如何将比例从渐变变为1和2颜色,以及如何为女性和男性制作不同的颜色。我关闭了,但不能做最后的工作:(
ggplot(smokingdata, aes(x=ages, y=consume, col=gender)) +
geom_point() + ylim(0, 80)
跳过有人可以帮助我。
答案 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
会将其视为离散变量,而不是连续变量。