我是新手,我正在尝试设计热图。这是我的代码:
ggplot(gd, aes(Qcountry, Q6_1_Q6d), order = TRUE) +
geom_tile(aes(fill = prob), colour = "white") +
theme_minimal() +
labs( y = "Main reason for mobility", x = "Country") +
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.3)) +
scale_fill_gradient(name = "(%)")
这会产生一个完美的图表,我的问题是低水平是深蓝色,较高的值是浅蓝色,这不直观。最常见的方法是使用rev()
。但就我而言,我不知道该怎么做。这样做,是否有可能扭转这一局面默认比例?
这就是传说 https://i.stack.imgur.com/Wiy78.jpg
另一个问题是,有没有办法只用一种颜色创建比例渐变。我是说,scale_fill_gradient/scale_fill_gradientn
需要设置低颜色和高颜色(low = "", high = "")
我想把蓝色改为红色。
十分感谢您的支持。
?scale_colour_gradient
显示默认值low = "#132B43"
and high = "#56B1F7"
.
只需将它们交换一下即可:
ggplot(faithfuld, aes(waiting, eruptions)) +
geom_raster(aes(fill = density)) +
scale_fill_continuous(high = "#132B43", low = "#56B1F7")
就我个人而言,我认为这不如默认的直观。
或者,您可以使用反向比例,但这也会翻转图例以从顶部开始:
ggplot(faithfuld, aes(waiting, eruptions)) +
geom_raster(aes(fill = density)) +
scale_fill_continuous(trans = 'reverse')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)