我有一个有序的因子变量,我想用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()
不起作用。
答案 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()