R geom_point()彩虹颜色

R geom_point()彩虹颜色,r,ggplot2,R,Ggplot2,我正在处理钻石数据集。我试图用颜色来表示清晰,绘制克拉x价格图。我有一个漂亮的调色板,但不是我想要的。它看起来更像一个渐变,我想要彩虹,每一个清晰度都有一个独特的颜色(我认为对于这样密集的数据图来说更容易) 当我创建了我的基本情节,一切都正常。一旦我尝试添加scale\u color\u gradientn(colors=rainbow())和任何变体,我就会得到一个错误 #what works ggplot(diamonds, aes(x=carat, y=price, color=clari

我正在处理钻石数据集。我试图用颜色来表示清晰,绘制克拉x价格图。我有一个漂亮的调色板,但不是我想要的。它看起来更像一个渐变,我想要彩虹,每一个清晰度都有一个独特的颜色(我认为对于这样密集的数据图来说更容易)

当我创建了我的基本情节,一切都正常。一旦我尝试添加
scale\u color\u gradientn(colors=rainbow())
和任何变体,我就会得到一个错误

#what works
ggplot(diamonds, aes(x=carat, y=price, color=clarity)) + 
  geom_point()

#what doesn't...
ggplot(diamonds, aes(x=carat, y=price, color=clarity)) + 
  geom_point() +
  scale_colour_gradientn(colors=rainbow(7)) 

我希望看到颜色,但相反,我得到的反馈是离散值被提供给一个连续的尺度。如何解决此问题?

scale\u color\u gradientn()
为连续值创建颜色渐变。如果您希望离散值具有不同的颜色,请使用
scale\u color\u manual()
。此外,使用
值=
分配颜色:

ggplot(diamonds, aes(x = carat, y = price, colour = clarity)) + 
geom_point() +
scale_colour_manual(values = rainbow(8)) 

彩虹色阶通常是个坏主意。他们对色盲不友好,并且有感知问题。有关详细信息,请参见推特上的#endrainbowmore@RichardTelford你完全正确,这是一个很好的考虑。我现在只是为了我自己的目的玩弄数据集。当我有一天呈现数据时,灰度是否对色盲更友好?:)查看绿色色阶-可在ggplot中获得