R语言自定义颜色

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

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

代码示例:

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

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

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

示例:

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

二、指定颜色

代码:

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

示例:

library(ggplot2)
library(ggpubr)# -------原始-------
ggplot(mpg, aes(x = displ, y = hwy, color = drv, shape = drv)) + geom_point() + geom_smooth(se = F, method = 'loess') + theme_bw()# ---------自定义颜色-----------
ggplot(mpg, aes(x = displ, y = hwy, color = drv, shape = drv, linetype = drv)) +geom_smooth(se = F, method = 'loess') + geom_point() + scale_linetype_manual(values = c('twodash', 'longdash', 'dashed')) + theme_bw() + scale_color_manual(values = c("#0073C2FF", "#EFC000FF", "#868686FF")) #自定义颜色# ---------自定义点的形状-----------
show_point_shapes() + theme_classic() # 显示点的形状(ggpubr包内的函数)ggplot(mpg, aes(x = displ, y = hwy, color = drv, shape = drv)) + geom_point() + geom_smooth(se = F, method = 'loess') + theme_bw()  + scale_color_manual(values = c("#0073C2FF", "#EFC000FF", "#868686FF")) + scale_shape_manual(values = c(15, 19, 17))  #自定义点的形状,分别为15, 19, 17。# ---------自定义线条的类型-----------
show_line_types() # 显示线条类型(ggpubr包内的函数)ggplot(mpg, aes(x = displ, y = hwy, color = drv, shape = drv, linetype = drv)) + geom_point() + geom_smooth(se = F, method = 'loess') + theme_bw()  + scale_color_manual(values = c("#0073C2FF", "#EFC000FF", "#868686FF")) +  scale_shape_manual(values = c(15, 19, 17)) + scale_linetype_manual(values = c('twodash', 'longdash', 'dashed'))  #自定义线条的类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/538211.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于FPGA的PSRAM接口设计与实现

该系列为神经网络硬件加速器应用中涉及的模块接口部分&#xff0c;随手记录&#xff0c;以免时间久了遗忘。 一 PSRAM与HyperRAM 1、概述 2、异同 接口协议不同&#xff0c;因此在IP设计时需要注意。 Hyperram(Winbond)&#xff1a;HyperBus协议 PSRAM(AP公司)&#xff1a;X…

Linux:设置别名命令alias

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 在Linux中alias命令用于为一串字符&#xff08;常代表命令&#xff09;设置一个别名&#xff0c;该别名在Bash读取并解析一行命令时会被展开。 下面是该命令的语法。 用…

微信小程序问题定位——sourcemap文件

使用sourceMap在微信小程序中进行线上问题定位&#xff0c;主要可以通过以下步骤实现&#xff1a; 下载微信开发者工具首先&#xff0c;确保已经安装了微信开发者工具&#xff0c;这是进行小程序开发和调试的基础。登录微信公众平台并下载sourceMap文件&#xff1a;登录微信小…

tablulator 表格插件使用 vue3 + ts

项目中使用的是layui框架&#xff0c;layui整体使用起来还是挺好用的&#xff0c;界面风格简约&#xff0c;上手也简单&#xff0c;但是layui自带的表格性能真的不咋行&#xff0c;基本上显示超过500条&#xff0c;就很出现浏览器卡顿&#xff0c;全选的时候&#xff0c;浏览器…

校园生活信息平台:Java+Vue+MySQL全栈实践

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

Spring Cloud Alibab 入门搭建,包含Nacos中心,注册服务发现服务,Feign请求,GateWay网关,sentinel限流

一、安装Nacos注册中心 1.1查看Nacos官网&#xff0c;安装Nacos服务&#xff0c;下载源码或者安装包 1.2启动服务&#xff0c;默认端口为8848&#xff0c; 二、创建服务注册&发现 2.1使用脚手架&#xff0c;创建注册服务和发现服务项目&#xff0c;我用的版本是2.6.13&…

VUE2 Day06路由模块封装,声明式导航,vue路由重定向,keep-alive,基于VueCli自定义创建项目,代码规范

绝对路径&#xff1a;指代src目录&#xff0c;可以用于快速引入组件 路由模块的封装抽离的好处是什么&#xff1f; 拆分模块&#xff0c;利于维护 以后如何快速引入组件&#xff1f; 基于 指代 src 目录&#xff0c;从 src 目录出发找组件 /search/:words 表示&#xff0…

双线性插值

先来看看线性插值的情况 如上图&#xff0c;在已知p2 (x2,y2)和p1 (x1,y1)的情况下要求解在区间[x1,x2]上任意点x对应的y值&#xff0c;有如下公式&#xff1a; 因式分解&#xff0c;解开y有&#xff1a; 可以看出是计算点p与p3的距离权重&#xff0c;是计算点p与p2的距离权重&…

【产品经理方法论——BRD文档模板】

一、BRD(Business Requirement Document)商业需求文档 BRD文档是面对公司高层&#xff0c;目的是获得公司资金、资源的支持开展项目。一般的BRD文档展示方式是PPT。 下面的思维导图是BRD文档的六大模块。 方案背景方案预测产品规划盈利模式收益与成本风险与对策 1. 方案背景 …

2024-03-14 Android app runOnUiThread 函数,它的作用是让一个Runnable对象在主线程(UI线程)上运行。

一、看到别人app有这么一个runOnUiThread 函数用法。 二、在Android中&#xff0c;runOnUiThread 是一个非常重要的方法&#xff0c;它的作用是让一个Runnable对象在主线程&#xff08;UI线程&#xff09;上运行。在Android中&#xff0c;主线程是负责更新UI的线程&#xff0c;…

try catch 应该在 for 循环里面还是外面

前言 其实就是看业务。我需要出现异常就终止循环的&#xff0c;就放外头&#xff1b;不需要终止循环&#xff0c;就搞里头但是要注意一点就是&#xff0c;别在for循环里面去查库调用第三方啥的&#xff0c;这些操作&#xff0c;如果必要&#xff0c;需要慎重考虑了 参考文章 …

马斯克宣称开源GROK,普通人如何抓住机会

一、马斯克宣称开源grok 3月11日晚&#xff0c;特斯拉的创始人埃隆马斯克在社交平台宣布&#xff0c;其AI初创企业xAI即将在本周公开聊天机器人Grok的源代码。这一举措意味着公众将能够无偿获取到大模型技术背后的核心代码&#xff0c;从而进一步推动AI技术的普及与发展。对此…