离散化 viridis ggplot 色标

discretizing viridis ggplot color scale

我有一个有序的因子变量,我想使用 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()

无效。

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)

最新版本的 {ggplot2}(开发者:2.2.1.9000)现在包含一个 viridis 比例尺。
您可以对离散值使用 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()