如何在R语言散点图中添加Blues调色板颜色
如何为你的ggplot散点图应用Blues调色板
没问题!要给你的散点图换上Blues系列的配色很简单,因为你是把颜色映射到离散的Country分类变量,这里有两种常用且美观的实现方式:
方法1:用经典的RColorBrewer Blues调色板
R自带的RColorBrewer包有一套非常经典的Blues色系,直接用scale_color_brewer()就能快速应用:
首先如果还没装这个包,先运行install.packages("RColorBrewer"),然后修改你的代码如下:
# 加载必要的包 library(ggplot2) library(RColorBrewer) # 你的数据准备代码(原样保留) tw = c(15000, 3000, 2500, 2000, 1500, 1500, 500) re.tw = c(8000, 6000, 5500, 3300, 700, 1000, 1500) Country = c('Argentina', 'Brasil', 'Mexico', 'Chile', 'Venezuela', 'Espana', 'EEUU') b = data.frame(tw,re.tw,Country) b$Ratio = as.integer((b$tw / b$re.tw)*1000) # 应用Blues调色板的散点图代码 ggplot(b, aes(x=tw, y=re.tw)) + geom_point(aes(col=Country, size=Ratio)) + theme_minimal() + xlim(c(0, 15000)) + ylim(c(0, 8000)) + # 补全你之前截断的y轴范围 scale_color_brewer(palette = "Blues") # 核心:指定Blues调色板
如果想要颜色从深蓝到浅蓝的反向效果,只需要给scale_color_brewer加个参数:scale_color_brewer(palette = "Blues", direction = -1)
方法2:用色盲友好的Blues系调色板(viridis)
如果需要更适合色盲人群的配色,推荐用viridis包的离散调色板,它的蓝色系不仅美观,还能保证色觉障碍用户也能清晰区分:
先安装包:install.packages("viridis"),然后代码如下:
library(ggplot2) library(viridis) # 数据准备同上... ggplot(b, aes(x=tw, y=re.tw)) + geom_point(aes(col=Country, size=Ratio)) + theme_minimal() + xlim(c(0, 15000)) + ylim(c(0, 8000)) + scale_color_viridis_d(option = "mako") # mako是偏蓝的色系,也可以试试"cividis"
viridis的option参数里,mako和cividis都是不错的蓝色调选择,你可以根据自己的偏好调整。
小补充:如果之后你想让Ratio的大小也配合蓝色系风格,也可以用类似的比例尺函数,但根据你的需求,上面的代码已经能完美实现Country的Blues配色啦。
内容的提问来源于stack exchange,提问作者RMN
相关产品推荐
相关产品推荐

