我目前正在编写一段代码,我正在相互绘制两个变量。但是,我的数据包含一个变量,我想用它来为散点图中的点着色并显示第三个变量的图例。 这是一个(简化的)示例数据框:
df <- data.frame(id = 1:N, x1 = rnorm(N), x2 = rnorm(N), x3 = rnorm(N))
我只是尝试使用此(简化)代码将颜色附加到相关点:
plot(df$x1,df$x2, col=df$x3)
但是,这似乎不起作用。我会感谢有用的建议。我希望有这样的情节(取自R-bloggers):
欢呼声
答案 0 :(得分:1)
您需要为&#39; col&#39;。
使用正值 快速修复:使用x3 = abs(rnorm(N))
要获得更多控制权:使用实际颜色而不是数字。像&#39; red&#39;,&#39; blue&#39;等字符串。 would work。或者您可以使用colors <- rainbow(10)
这样的调色板来为您提供一组颜色,您可以根据需要分配颜色
示例:
df <- data.frame(id = 1:N, x1 = rnorm(N), x2 = rnorm(N), x3 = sample(rainbow(5),N,replace=T) )
plot(x=df$x1, y=df$x2, col=df$x3, pch=19)
编辑:
您也可以使用
rgb(red, green, blue, alpha, maxColorValue = 1)
重新缩放以控制它们将根据其值映射到的颜色
答案 1 :(得分:0)
那样的东西?
N=5
df <- data.frame(id = 1:N, x1 = rnorm(N), x2 = rnorm(N), x3 = rnorm(N))%>%
mutate(col=Hmisc::cut2(x3,g=3))
ggplot(df,aes(x=x1,y=x2,col=col))+geom_point()