科研绘图-配色指南

news/2024/11/23 5:37:55/
好的图形展示方式能够简明扼要地表达数据,而好的配色一方面能够突出数据的重点,另一方面能够使所有的数据和谐共存。好的配色是图的二次进化,能够赋予图片“生命”。

1,日常生活中使用的颜色
日常生活中,我们经常提到各种颜色,例如赤橙黄绿青蓝紫,中国红,香蕉黄等,一般用来定性描述物体的颜色属性,不够精确,例如,红色,是红绿灯的红色,还是苹果的红色?所以一般不在科技论文中使用。

2,RGB配色方案
最常用的颜色方案为RGB颜色,其中R表示红色(red),G表示绿色(green),B表示蓝色(blue),即所谓的三元色,通过三元色,可以衍生出来成千上万种颜色。该颜色方案一般使用6位16进制的值(0-9,加上A、B、C、D、E、F,共16个值)来表示,其中前两位是Red的值,中间两位是Green的值,最后两位是Blue的值,每种颜色数值范围从00到FF,共16*16种,因此6位可以表示的颜色种类高达:16*16*16*16*16*16,约等于1600多万种颜色。当然,我们几乎用不到这么多种颜色,而且人眼也没办法区分细微颜色差别。
c5b17580934e33325fa9e8af131e32ea.jpeg                                                          图1. 三元色

3,透明度(alpha
alpha一般用作不透明度参数。如果alpha为0,就是完全透明的,alpha为1表明完全不透明。在0-1之间的值 可以使得图像透过背景显示出来,就像透过玻璃(半透明性),这种效果是简单的二元透明性(透明或不透明)做不到的。例如在做venn图的时候,就需要设置透明度,这样中间的重叠部分才能显示出来。否则中间重叠部分就不能完整显示出来。 因此,我们也可以在RGB颜色的基础上,使用RGBA颜色,这里的A就是alpha。
236ac9f1a87b82f13ae7cc55cb2d1222.jpeg                                                        图2. 透明度

4,背景色
一般情况下,我们作图使用的数据图背景色均为白色,而在模式图中使用背景色能够区分不同的区域或者范围,给人以视觉上的冲击。例如下图以不同的背景色表示细胞的区域,很形象。如果去掉背景色后,就会显得很单薄。 b533e73bb68e936a86e2579f68e3075a.jpeg                                                  图3. 模式图的背景色
IGV基因组浏览器中,以浅色背景标注感兴趣的peak,可以突出感兴趣的区域。
78bb3fc39aa6ed2c5a5b5bf7b2af4ec9.jpeg                                                   图4. IGV中的背景色

5,渐变色
渐变色可以用来表示数值大小或者程度,颜色越深数值越大,颜色越浅数值越小,例如热图。 286679eea0f202e0e093f4a58230185a.jpeg                                                         图5. 渐变色

6,撞色
撞色也叫对比色,就是两个不相邻的色系搭配在一起的效果,更有彼此碰撞的美感。撞色一般在颜色比较多的情况下使用,可以更容易地区分不同的区域。 撞色一般分为两种: 1)补色配合: 色环中两个完全相对(180度对角)的颜色的配合,例如:红色与绿色,蓝色与橙色,黑色与白色等。 2)强烈色配合: 色环中两个相隔较远的颜色相配,例如:黄色与蓝紫色,红色与黄绿色等。  f1624f02fbb4bb741af84cd204b26628.jpeg
                                                  图6. 撞色
例如在绘制物种分布堆叠柱状图时,使用撞色进行区分会比较明显。

7,常见期刊论文配色
每种期刊关注的内容不同,当形成自己风格后,配色也就渐渐固定下来。这里列举了常见期刊的配色方案,供参考。 c3bf931a5c45014656f427093b7e6400.jpeg                                                        图7. 常用调色板

8,编程语言中的调色包
为了更方便地展示和调用不同的配色方案,出现了各种配色包。可以简单理解为:使用期刊名字来代替颜色编码,例如npg就代表了#E64B35、#4DBBD5、#00A087、#3C5488、#F39B7F、#8491B4、#91D1C2、#DC0000、#7E6148、#B09C85这十种颜色,在编程的时候,直接使用npg简写即可,省时,还不浪费脑细胞。

1)R语言ggsci配色包
R语言中ggsci包,可以直接使用期刊的缩写来调用颜色。ggsci工具包拓展了ggplot2绘图系统的颜色函数,并且遵从scale_col_*和scale_fill_*式的命名规则。可以根据期刊名缩写快速生成符合期刊要求的配色。此外,还有来自其他数据可视化库、科幻电影和电视作品等中的配色。
安装:install.packages(“ggsci”) 使用: 39c9d9927795199cb8b6b5e304420252.jpeg                                                           图8. ggsci代码
4272eb3dbdf8ca7753af38f67cddfa84.jpeg        图9. Ggsci示例,上面为默认颜色,下面为nature publishing group颜色

2)Python配色 包colorbm
Python也是我们经常使用的绘图语言,python中的colorbm(color beyond matplotlib)包也提供了众多的配色方案:ggsci、seaborn 、cmocean、scientific、CMasher、CARTO、Material Design等,貌似是ggsci的超集! 安装:pip install colorbm 使用: 98aaf77b81215ba43f7e2da5ef54b92e.jpeg                                                   图10. colorbm代码
4ce592ba67e4776715ac92dd4c879cc6.jpeg                                                       图11. colorbm例图

9,取色
颜色是一门学问,例如,有老师要求使用冷色调,有老师喜欢暖色调。有些图需要渐变色好看,有些图需要撞色。那么,我们需要学习怎么配色吗?个人观点:没必要,需要的时候,直接根据所选期刊,使用取色器取色即可。推荐FastStone Capture软件进行取色。

10,科研绘图需要明确颜色编码
一张图的绘制需要对数据、绘图类型、配色等有深入了解。针对科技绘图,一般我们使用R或者Python,或者在线网站进行绘图(例如 微生信 ),这时你需要保留绘图代码/颜色编号,以便后续进行更新,避免重复劳动。同时,期刊有自己倾向的配色,如需改投其他杂志,一般情况下需要重新绘图,以满足不同期刊编者的“癖好”。

以下是几个小技巧:
1)同一篇论文的配色一般要保持一致
2)尽量避免使用大红大绿的配色
3)一般用红色表示上调,绿色/蓝色表示下调,红色表示肿瘤患者等
4)避免使用红色和绿色配色以考虑红绿色盲读者(审稿人)的易读性,因为红绿色盲所占人口比例相当高,男性占8%,女性占0.5%。
5)不要使用过多的颜色类别
6)文字不一定一直要用黑色,需要与图片的颜色匹配

更多小技巧,欢迎留言补充!

微生信助力发文章,谷歌引用640+,知网引用480+



http://www.ppmy.cn/news/875682.html

相关文章

基于springboot+vue的疫情管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

Windows7中使用SRS集成音视频一对一通话

SRS早就具备了SFU的能力,比如一对一通话、多人通话、直播连麦等等。在沟通中,一对一是常用而且典型的场景, 让我们一起来看看如何用SRS做直播和RTC一体化的一对一通话。 一、启动windows7-docker 二、拉取SRS镜像 执行命令:docker pull oss…

值得一看的电脑教程下载

----->【值得一看的电脑教程下载】 电脑技巧二○○三合集http://www.starinfo.net.cn/photography/gif/f6/shuji/computer abort.zip 经典电脑故障全攻略http://www.starinfo.net.cn/photography/gif/f6/shuji/computer abort.zip fdisk硬盘分区图解步步通http://www.sta…

C/C++面试题-2 之2/2

之2/2 45. 如何判断一个单链表是有环的?(注意不能用标志位,最多只能用两个额外指针) struct node { char val; node* next;} bool check(const node* head) {} //return false : 无环;true: 有环 一种O&#xff08…

MaxDOS v5.8s 说明文件

MaxDOS v5.8s 说明文件 请使用光标键 → ←↑↓ 或 PageUp 和 PageDown 翻页,查看本说明.关注新版,意见建议请到 Http://Pzz.Cn 或 Http://MaxDOS.Net=============================================================================== MaxDOS v5.8s 更新如下:1.优化一些程序…

数据库设计方法和原则

数据库设计方法和原则 11 个重要的数据库设计规则 来源: 开源中国社区 英文原文: 11 Important Database designing rules 简介 在您开始阅读这篇文章之前,我得明确地告诉您,我并不是一个数据库设计领域的大师。以下列出的 11 点是我对自己…

003

(1) 启天应用优化后,哪些说法是正确的 ABCD 安装文件统一为一个版本,便于生产售后控制 硬盘保护支持独立百兆网卡(不支持独立千兆网卡) 解决在 SATA 硬盘和 137G 以上大硬盘上不能自动格式化的问题 网络同传不能使用大传小的方式 (

linux内核文档翻译之——V4L2-framework.txt V4L2 API Specification

http://blog.csdn.net/jmq_0000/article/details/7530575 V4L2驱动框架概述 这个文本文件讲述V4L2的框架所提供的各种结构和它们之间的关系.介绍 ------------由于硬件的复杂性v412驱动往往是非常复杂的: 大多数设备有多个IC,在/dev目录下有多个设备节点…