• 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')) #自定义线条的类型

  • 相关阅读:
    面向对象和面向过程
    设置Windows主机的浏览器为wls2的默认浏览器
    【信号处理】基于扩展卡尔曼滤波器和无迹卡尔曼滤波器的窄带信号时变频率估计(Matlab代码实现)
    微软ADFS成本评估
    影片自由,丝滑流畅,Docker容器基于WebDav协议通过Alist挂载(百度网盘/阿里云盘)Python3.10接入
    适用于4×4MiMo 4G/5G,支持GNSS和WiFi 6E的车载天线解决方案
    JSP工作原理
    中国金刚石工具市场发展现状及供需格局分析预测报告
    JVM(9)之JVM对象创建与内存分配深度剖析
    Geom2d_TrimmedCurve解析
  • 原文地址:https://blog.csdn.net/qq_45100200/article/details/136554793