• R语言自定义颜色


    一、创建颜色梯度(渐变色)

    在绘热图时,需要将数值映射到不同的颜色上,这时就需要一系列的颜色梯度colorRampPalette 函数支持自定义的创建一系列的颜色梯度。

    代码示例:

    1. library(RColorBrewer)
    2. x <- colorRampPalette(c("blue", "red"))(12)
    3. scales::show_col(x) # 显示颜色效果
    4. x # 显示颜色编码

    函数的参数c("blue", "red") 指的是颜色从蓝色渐变到红色,12 代表创建长度为12的颜色梯度

    有了颜色梯度之后,我们就可以方便的把数值映射到颜色梯度上。基本的思想是,将数值排序,然后得到每个数值在排序好的序列中的顺序,其实就是rank 函数的返回值,然后利用该顺序去获取颜色。

    示例:

    1. library(RColorBrewer)
    2. colors <- colorRampPalette(c("blue", "red"))(5)
    3. scales::show_col(colors) # 显示颜色效果
    4. colors # 显示颜色编码
    5. plot(5:1, bg = colors[rank(5:1)], cex = 2, pch = 22)

    二、指定颜色

    代码:

    scale_color_manual(values = c("#0073C2FF", "#EFC000FF", "#868686FF")) #自定义颜色

    示例:

    1. library(ggplot2)
    2. library(ggpubr)
    3. # -------原始-------
    4. ggplot(mpg, aes(x = displ, y = hwy, color = drv, shape = drv)) +
    5. geom_point() +
    6. geom_smooth(se = F, method = 'loess') +
    7. theme_bw()
    8. # ---------自定义颜色-----------
    9. ggplot(mpg, aes(x = displ, y = hwy, color = drv, shape = drv, linetype = drv)) +
    10. geom_smooth(se = F, method = 'loess') +
    11. geom_point() +
    12. scale_linetype_manual(values = c('twodash', 'longdash', 'dashed')) +
    13. theme_bw() +
    14. scale_color_manual(values = c("#0073C2FF", "#EFC000FF", "#868686FF")) #自定义颜色
    15. # ---------自定义点的形状-----------
    16. show_point_shapes() +
    17. theme_classic() # 显示点的形状(ggpubr包内的函数)
    18. ggplot(mpg, aes(x = displ, y = hwy, color = drv, shape = drv)) +
    19. geom_point() +
    20. geom_smooth(se = F, method = 'loess') +
    21. theme_bw() +
    22. scale_color_manual(values = c("#0073C2FF", "#EFC000FF", "#868686FF")) +
    23. scale_shape_manual(values = c(15, 19, 17)) #自定义点的形状,分别为15, 19, 17。
    24. # ---------自定义线条的类型-----------
    25. show_line_types() # 显示线条类型(ggpubr包内的函数)
    26. ggplot(mpg, aes(x = displ, y = hwy, color = drv, shape = drv, linetype = drv)) +
    27. geom_point() +
    28. geom_smooth(se = F, method = 'loess') +
    29. theme_bw() +
    30. scale_color_manual(values = c("#0073C2FF", "#EFC000FF", "#868686FF")) +
    31. scale_shape_manual(values = c(15, 19, 17)) +
    32. scale_linetype_manual(values = c('twodash', 'longdash', 'dashed')) #自定义线条的类型

  • 相关阅读:
    利用已存在的conda环境
    项目管理工具dhtmlxGantt甘特图入门教程(五):甘特图实例特点
    OpenCV Hough变换-直线检测
    详解RFC 793文档-1
    sign鉴权前置到网关,看看shenyu怎么处理
    Nacos启动时报错No DataSource set排查
    JSON转换List<Map<String, Object>>、Map<String, Object>
    petalinux下修改系统空间笔记
    7-90 螺旋方阵
    大数据学习之一文学会Spark【Spark知识点总结】
  • 原文地址:https://blog.csdn.net/qq_45100200/article/details/136554793