Легко перепутать масштабирование цвета и масштабирование заливки. В случае geom_bar
/geom_col
цвет изменяет границы вокруг полос, а заливка изменяет цвета внутри полос.
У вас уже есть код, необходимый для масштабирования цвета заливки по значению: aes(fill = pvalue)
. Часть, которую вам не хватает, - это команда scale_fill_*
. Есть несколько вариантов; некоторые из наиболее распространенных для непрерывных шкал - scale_fill_gradient
или scale_fill_distiller
. Некоторые пакеты также экспортируют палитры и функции масштабирования, чтобы упростить их использование, например, последний пример, в котором используется масштаб из пакета rcartocolor
.
scale_fill_gradient
позволяет установить конечные точки для градиента; scale_fill_gradient2
и scale_fill_gradientn
позволяют установить несколько средних точек для градиента.
scale_fill_distiller
интерполирует палитры ColorBrewer, которые были разработаны для дискретных данных, в непрерывную шкалу.
library(tidyverse)
set.seed(1234)
Top_10 <- tibble(
Term = letters[1:10],
Cs = runif(10),
pvalue = rnorm(10, mean = 0.05, sd = 0.005)
)
plt <- ggplot(Top_10, aes(x = reorder(Term, Cs), y = Cs, fill = pvalue)) +
geom_col(color = "black") +
coord_flip()
plt + scale_fill_gradient(low = "white", high = "purple")
plt + scale_fill_distiller(palette = "Greens")
plt + rcartocolor::scale_fill_carto_c(palette = "Sunset")
Создано 05 мая 2018 г. с помощью пакета reprex (v0.2.0).
person
camille
schedule
05.05.2018