geom_point() 彩虹色。

6
我正在处理钻石数据集。我试图绘制克拉数 x 价格的图表,颜色代表清晰度。我得到了一个漂亮的颜色调色板,但不是我想要的那个。它看起来更像渐变,而我想要用彩虹色,每种清晰度都有一个独特的颜色(对于这样密集的数据点而言更容易)。
当我创建基本的绘图时,一切正常。但一旦尝试添加scale_colour_gradientn(colours=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)) 

我希望看到颜色,但实际上我得到的反馈是给连续比例尺提供了离散值。如何解决这个问题?


彩虹色比例尺通常不是一个好主意。它们不友好于色盲人,并且存在感知问题。请在 Twitter 上查看 #endrainbow 以获取更多信息。 - Richard Telford
@RichardTelford 您说得完全正确,这是一个很好的考虑。我现在只是为了自己的目的而玩弄数据集。灰度图对于当我将来展示数据时更友好于色盲人士吗? :) - Lani
请查看ggplot中提供的viridis颜色比例尺。 - Richard Telford
1个回答

8

scale_colour_gradientn() 用于创建连续值的颜色渐变。如果您想要离散值拥有不同的颜色,则应使用 scale_colour_manual()。此外,颜色是基于values = 赋值的:

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

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接