我正在尝试将默认填充颜色从蓝色更改为绿色或红色。 这是我正在使用的代码
Top_pos<- ggplot(Top_10, aes(x=reorder(Term,Cs), y=Cs, fill=pvalue)) +
geom_bar(stat = "identity", colour="black") + coord_flip()
使用上面的代码,我得到以下图像。我对这些数据没有任何问题,但我不知道如何更改填充颜色。
答案 0 :(得分:0)
就个人而言,我是R Color Brewer的粉丝。它有一组内置的调色板,可以很好地协同定性,顺序或分散数据类型。查看colorbrewer2.org以获取有关实际数据的一些示例
更一般地说,对于如何实际编码它,您总是可以添加scale_fill_manual
参数。 ggplot2
中有一些用于渐变(examples here)
答案 1 :(得分:0)
很容易混淆缩放颜色和缩放填充。在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")
由reprex package(v0.2.0)创建于2018-05-05。