Легко спутать масштабирование цвета и масштабирование заливки. В случае 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")
Создано в 2018-05-05 пакетом Представить (v0.2.0).