1. 查看ggplot2 支持的色带
library(RColorBrewer)
display.brewer.all(type = "all")
display.brewer.all(type = "seq")
display.brewer.all(type = "div")
display.brewer.all(type = "qual")brewer.pal.info # 共包括div qual seq三个类别
scale_fill_brewer(name="",type='div',palette=7)
color=brewer.pal(7, "Set1")[1]
  1. 翻转色带
# define a color rmap palette
colr = colorRampPalette(rev(brewer.pal(8,"RdYlBu")))   # reverse colorbar   rev()
  1. 自定义色带和色带标签
scale_fill_brewer(name="Modeling year",type='qual',palette=7,direction=1)
  1. 连续型色带和离散化色带的区别
    离散色带:
    scale_fill_brewer(name="",type=‘div’,palette=7)
    连续色带
    scale_fill_gradientn(colors = rev(brewer.pal(10,“Spectral”)))

scale_fill_gradientn(colours = heat.colors(20),guide=“colourbar”)
scale_fill_gradient(low = “blue”, high = “red”,guide=“colourbar”)
scale_colour_gradient2()

### 连续型色带guide_colorbar
### 离散型色带guide_legend
### guides(fill = guide_legend(nrow = 1,title=""))   # 图例一排   反转图例的顺序

7.2 颜色fill/color,灰度grey,色相hue, 色盲颜色



参数解释:

  • type 在scale_color_continuous中表示指定变化类型,是普通渐变“gradient”还是色盲渐变“viridis”
    在scale_xxx_distiller()中表示指定色板类型,是“seq”渐变,“qual”离散对比,还是“div”两极色板
  • palette 表示指定色条类型,当type色板类型已经指定的情况下,可以用序号指定,若type未指定,则必须用色条名称指定
  • direction 表示指定标度与变量的匹配方向,direction=-1表示方向翻转 在scale_xxx_hue()中,direction=1表示色轮的顺时针方向,direction=-1表示逆时针方向
  • low, high表示渐变的颜色两极颜色名称或HEX色值,如果用颜色名称指定,则可用muted(“color”)指定某个暗色
  • mid 表示指定渐变的中点颜色
  • midpoint 表示指定渐变的中点对应的变量值
  • colors/colours 多色渐变中,指定颜色向量, 如colour = terrain.colors(10)取10个地形图颜色作为渐变的基础色
  • values 表示指定自定义颜色向量,如果变量为数字类型,则默认按数字大小顺序与values匹配,
    如果变量为字符类型,则默认按变量字母顺序与values匹配,
    为了按照想要的顺序匹配,可以给变量增加一个因子水平,然后自动按照因子水平与values匹配(自上而下,由低到高)
    也可给values向量设置名称属性,名称与要映射的变量值一样,然后按照名称属性匹配
  • range 表示指定指定显示的透明度范围,在[0, 1]区间内,0表示不透明,1表示不透明
  • limits 表示设定显示范围
  • breaks 表示设定图例刻度位置
  • labels 表示指定图例刻度处显示标签
  • h 表示指定色相范围,在区间[0, 360]内
  • c 表示指定chroma(色度,鲜艳或是暗淡)值,最大值取决于hue和luminance
  • l 表示指定luminance(亮度),在区间[0, 100]内
  • start 表示指定灰度起点,从0到1,0表示白色,1表示黑色
  • end 表示灰度结束点,通常end,默认end更黑,若设定start>end,则翻转标度
  • end 表示灰度结束点,通常end,默认end更黑
  • 其它公共参数:name图例名称,palette, breaks, labels, limits, expand, position(标签在图例的上)
  • 只有连续的标度函数,如

scale_xxx_gradient^()才支持trans内置参数

7.2.1 color/fill

library(ggplot2)# scale_fill_continuous
v <- ggplot(faithfuld, aes(waiting, eruptions, fill = density)) + geom_tile()
v
v + scale_fill_continuous(type = "gradient", name = "密度", breaks = c(0, 0.05, 0.01, 0.02, 0.03, 0.04), labels = c(0, 0.05, 0.01, 0.02, 0.03, 0.04), position = "left")  # 更改图例名称,不支持刻度点,图例标签位置,匹配方向等参数
v + scale_fill_continuous(type = "viridis")  # 结果与scale_fill_viridis_c()一样# scale_color_distiller
set.seed(19)
dsamp <- diamonds[sample(nrow(diamonds), 1000), ]
(d <- ggplot(dsamp, aes(carat, price)) + geom_point(aes(colour = clarity)))
v <- ggplot(faithfuld) + geom_tile(aes(waiting, eruptions, fill = density))
v
v + scale_fill_distiller(palette = "Spectral", breaks = c(0, 0.05, 0.01, 0.02, 0.03, 0.04), labels = c(0, 0.05, 0.01, 0.02, 0.03, 0.04))  # 更改图例刻度及标签失败# scale_xxx_gradient^()
set.seed(18)
df <- data.frame(x = runif(100), y = runif(100), z1 = rnorm(100), z2 = abs(rnorm(100)))ggplot(df, aes(x, y)) + geom_point(aes(colour = z2))  # 默认从light blue到dark blueggplot(df, aes(x, y)) + geom_point(aes(colour = z2)) + scale_colour_gradient(low = "white", high = "black", name = "这是图例名称", breaks = c(0, 0.5, 1, 2, 3, 4), labels = c(0, 0.5, 1, 2, 3, 4))  # 灰度渐变,修改图例名称,图例刻度及刻度标签ggplot(df, aes(x, y)) + geom_point(aes(colour = z1), size = 2) + scale_colour_gradient2()  # 两极渐变,ggplot(df, aes(x, y)) + geom_point(aes(fill = z2), shape = 21, size = 3) + scale_fill_gradient2(low = "blue", mid = "red", midpoint = 2, high = "cyan", name = "这是图例名称")  # 修改基础颜色,ggplot(df, aes(x, y)) + geom_point(aes(colour = z1)) + scale_colour_gradientn(colours = terrain.colors(10), name = "这是图例名称")  # 应用terrain.colors内置色板,更改标度方向失败




默认从light blue到dark blue:


灰度渐变,修改图例名称,图例刻度及刻度标签:


两极渐变:

修改基础颜色:

应用terrain.colors内置色板,更改标度方向失败:

library(ggplot2)# scale_color_brewer
dsamp <- diamonds[sample(nrow(diamonds), 1000), ]
(d <- ggplot(dsamp, aes(carat, price)) + geom_point(aes(colour = clarity)))
d + scale_colour_brewer(name = "钻石透明度", palette = "Greens", direction = -1, position = "left")  # 更改图例名称,色板,标度方向,更改位置失败
d + scale_colour_brewer(palette = "Set1", name = "钻石透明度")  # 多种颜色也可以渐变,非常方便# scale_color_manual
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point(aes(colour = factor(cyl)))
p + scale_colour_manual(values = c("red", "blue", "green"))# 按名称属性匹配
cols <- c(`8` = "red", `4` = "blue", `6` = "darkgreen", `10` = "orange")  # 设定名称属性
p + scale_colour_manual(values = cols)  # 名称属性匹配p + scale_colour_manual(name = "这是图例名字", values = cols, breaks = c("4", "6", "8"), labels = c("four", "six", "eight"), limits = c("4", "6", "8", "10"))



自定义颜色:

7.2.2 透明度、色相、灰度

library(ggplot2)p <- ggplot(mpg, aes(displ, hwy)) +geom_point(aes(alpha = year))
p
p + scale_alpha(range = c(0.4, 0.8), name = "这是图例名称") # 设定透明度范围为0.4到0.8dsamp <- diamonds[sample(nrow(diamonds), 1000), ]
d <- ggplot(dsamp, aes(carat, price)) + geom_point(aes(colour = clarity))d + scale_colour_hue(name = "这是图例名称") # 默认全色轮
d + scale_colour_hue(l = 70, c = 150, name = "这是图例名称")# 调整色度和亮度
d + scale_colour_hue(h = c(0, 90), "这是图例名称") # 设定色相范围,0代表红色与橙色的分界
d + scale_colour_hue(h = c(90, 180), "这是图例名称")
d + scale_colour_hue(h = c(270, 360), "这是图例名称")# 灰度
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point(aes(colour = factor(cyl)))
p + scale_colour_grey()
p + scale_colour_grey(start = 0.8, end = 0.2, name = "这是图例名称") # 修改灰度范围# 灰度增加缺失值映射
miss <- factor(sample(c(NA, 1:5), nrow(mtcars), replace = TRUE))
ggplot(mtcars, aes(mpg, wt)) +geom_point(aes(colour = miss)) + # 若缺失向量是data数据的子集,则可以映射scale_colour_grey(na.value = "green", name = "这是图例名称") # 增加缺失值为绿色










7.2.3 色盲友好色

library(ggplot2)# 离散变量
txsamp <- subset(txhousing, city %in% c("Houston", "Fort Worth", "San Antonio", "Dallas", "Austin"))
d <- ggplot(data = txsamp, aes(x = sales, y = median)) + geom_point(aes(colour = city))
dd + scale_colour_viridis_d()  # 默认viridis色板
d + scale_colour_viridis_d(option = "plasma", name = "这是图例名称")  # 更改色板为plasma
d + scale_colour_viridis_d(option = "B", name = "这是图例名称")  # 更改色板为inferno
d + scale_colour_viridis_d(option = "magma", name = "这是图例名称")
d + scale_colour_viridis_d(option = "cividis", name = "这是图例名称")# 连续变量
v <- ggplot(faithfuld) + geom_tile(aes(waiting, eruptions, fill = density))
v + scale_fill_viridis_c()
v + scale_fill_viridis_c(option = "plasma", name = "这是图例名称")








ggplot2 颜色相关推荐

  1. ggplot2颜色设置

    @Date: 2017-08-22 10:09:44 手动指定颜色及顺序 改变颜色的透明度 直接改变调色板 其它颜色及调色板相关信息 默认调色板 参考文献 利用R语言画图时经常用到不同的颜色,如何手动 ...

  2. R可视化07|ggplot2图层-标度图层(scale layer)-颜色盘篇

    本文详细介绍ggplot2中颜色标度(Colour scales and legends),续前篇. 本文目录 3.颜色标度和图例(Colour scales and legends) ggplot2 ...

  3. vue在日历表上面创建事件_如何在R中创建颜色编码的日历

    vue在日历表上面创建事件 用颜色编码的日历可以快速简便地查看您是否实现了日常目标. 您是否符合销售或社交媒体帖子等日常业务指标? 或者,您如何实现个人目标,例如每天锻炼? 乍一看,您可以了解自己的工 ...

  4. Excel绘图新高度---EasyCharts

    EasyCharts是EasyCharts团队使用C#语言编写的一款Excel插件,主要用于数据可视化与数据分析,如图1所示.EasyCharts插件现在是1.0版本,主要实现的功能如下. 图1 Ea ...

  5. R语言ggplot2可视化可视化聚类图、使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点、并自定义每个聚类簇数据点的颜色、多边形框的颜色(Cluster Plot)、主副标题题注

    R语言ggplot2可视化可视化聚类图.使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点.并自定义每个聚类簇数据点的颜色.多边形框的颜色(Cluster Plot).主副标题题注 ...

  6. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框颜色自定义配置)实战

    R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框颜色自定义配置)实战 目录 R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框 ...

  7. R语言使用ggplot2包的快速可视化函数qplot绘制分组点图(带状图)并配置分组颜色实战

    R语言使用ggplot2包的快速可视化函数qplot绘制分组点图(带状图)并配置分组颜色实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制分组点图(带状图)并配置分组颜色实战 #仿真 ...

  8. R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter、分组颜色配置)实战

    R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter.分组颜色配置)实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter.分组颜色配置) ...

  9. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(设置异常值的形状、颜色)实战

    R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(设置异常值的形状.颜色)实战 目录 R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(设置异常值的 ...

最新文章

  1. 沈向洋:读论文的三个层次
  2. OpenResty+Keepalived组建高可用集群+双主模式
  3. Django使用缓存笔记
  4. Java代码优化思路(JVM的角度)
  5. SVM和感知机的区别(转载+自己笔记)
  6. 服务器防渗透(1)--信息收集
  7. yii urlmanager配置post不生效_一文带你彻底学会 Git Hooks 配置
  8. python读取mysql以html形式输出_python实现处理mysql结果输出方式
  9. C语言程序顺序结构1交换变量,如何将c语言中结构体内的所有类型变量的值输出来...
  10. coreos 安装 mysql_kubernetes下安装mysql
  11. php计算器如何保留输入数字,php如何实现计算器代码
  12. java 判断类型_Java中类型判断的几种方式
  13. 基于springboot房产在线租房管理系统
  14. 煤炭及煤化工加工会产生什么危废_煤化工固体废物的清洁处置
  15. 目前1KB文件夹快捷方式病毒扫清方法
  16. 2021-09-26 WPF上位机 45-关键帧动画
  17. Javascript 将 jpeg、png转换为webp
  18. 《MATLAB 神经网络43个案例分析》:第33章 模糊神经网络的预测算法——嘉陵江水质评价
  19. ES的mapping配置详解
  20. ILI9341的使用之【四】RGB接口操作详解

热门文章

  1. Fortify漏洞修复总结
  2. BUPT Summer Journey #test9 A
  3. C#获取指定文件夹下所有文件夹名称
  4. Batch_Normalization 、Layer_Normalization 、Group_Normalization你分的清楚吗
  5. scp命令的实际操作
  6. 利用贝叶斯判别函数设计分类器
  7. 一文摸透DDoS攻击所有概念,值得收藏!
  8. SmoothGrad: removing noise by adding noise
  9. 基于AI在线抠图结合火猴中scalelayout的应用效果展示(提供下载)(firemonkey)
  10. Web3 新手教程:从入门到精通