离散viridis ggplot色标

时间:2017-03-10 21:39:16

标签: r ggplot2 colors viridis

我有一个有序的因子变量,我想用ggplot2绘制。有没有什么方法可以使用scale_color_viridis(),一个连续的色标,这个有序因子而不将因子转换成数字?直截了当的

iris$Sepal.Width <- ordered(iris$Sepal.Width)

ggplot(iris, aes(Sepal.Length, Petal.Length, color=Sepal.Width)) + 
  geom_point() + 
  scale_color_continuous()

不起作用。

2 个答案:

答案 0 :(得分:9)

Viridis有一个discrete = TRUE选项。

iris$Sepal.Width <- ordered(iris$Sepal.Width)

ggplot(iris, aes(Sepal.Length, Petal.Length, color=Sepal.Width)) + 
geom_point() + 
viridis::scale_color_viridis(discrete = TRUE)

答案 1 :(得分:2)

{ggplot2}的最新版本(开发:2.2.1.9000)现在包含了绿色标度。
您可以将scale_colour_viridis_d()用于离散值,或将scale_fill_viridis_c()用于连续值。

在你的情况下:

iris$Sepal.Width <- ordered(iris$Sepal.Width)

ggplot(iris, aes(Sepal.Length, Petal.Length, color=Sepal.Width)) + 
  geom_point() + 
  scale_colour_viridis_d()