【论文绘图】基本知识&配色&matplotlib color 官方教程

本文介绍科研论文绘图规范与绘制三原则,阐述RGB、CMYK、HEX配色基础及四种色轮配色方案,推荐ColorBrewer 2.0等配色工具。还讲述实操部分的环境配置,以及官网color教程中plt常用单一颜色格式、定制Colorbar、colormap等内容,并给出实操示例。

本文的前半部分来自书《科研论文配图绘制指南–基于Python》,后半部分来自matplotlib官网(v3.7)

基础知识

科研论文绘图规范
  • 科研论文绘图分为线性图、灰度图、照片彩图和综合配图 ,现在主要学习线形图( 折线图、散点图、柱形图等 )
  • 论文配图包括:X, Y轴; X, Y轴标签; 主次刻度; 图例

image.png

  • 像素图放大会失真,而矢量图不会失真。
  • 矢量图使用点、直线或多边形等基于数学方程的几何图元表示的图像。矢量图的图像文件包含独立的分离图像,可以自由、无限制地进行重新组合。
  • 常见的矢量图格式包括 EPS(体积小质量高,常用)、PDF、AI(可修改体积大)、SVG
  • 像素图:一般要求大于300dpi( dpi 是表示空间分辨率的计量单位,即每英寸可分辨的点数 )
  • 多子图:单栏排版(竖向排列)、双栏排版(考虑每行可排列的子图,子图各组件都要对齐)
  • 字体字号一致, 字号不大于正文字体的字号
  • 中文期刊:宋体,黑体
  • 英文期刊: Arial、Helvetica 或 Times New Roman
  • 先文后图: 配图应出现在引用文字的下方或右侧
  • 避免使用过亮或过暗的 颜色,相邻的图层元素不宜采用相近的颜色
绘制三原则

必要性原则:
  • 如果配图可以起到补充说明文字、直观展示结果、引出下文内容等作用,那么它 就是必要的 。
  • 避免堆砌: 无须将原始数据和中间处理 过程涉及的插图全部展示在论文中,而应在有复杂和多维数据的情况下,提高精选插图的能力。
易读性原则:
  • 完整、 准确的标题、标签和图例等可以有效地增强科研论文配图的易读性
一致性原则:
  • 配图所表达出的内容( 物理量缩写、符号 )与上下文或者指定内容描述一致
  • 配图数据与上下文保持一致
  • 插图比例尺和缩放比例大小保持一致
  • 类似配图各图层要素( 大小、字体、颜色 、符号)保持一致

配色基础

RGB
  • 利用三个颜色通道变化,叠加。
  • 黑色:0,0,0 白色:255,255,255
  • 品红没有绿:255,0,255
  • 青色没有红:0,255,255
  • 黄色没有蓝:255,255,0

image.png

CMYK
  • RGB的子集,主要用于彩色印刷, 依靠反光的色彩模式
  • C——青色 Cyan
  • M——品红 Magenta
  • Y——黄色 Yellow
  • K——黑色 Key Plate(Black)
  • 黄色、品红色和青色分别位 于立方体在坐标轴上的 3 个顶点
  • 白色在原点处,黑色位于离原点最远的顶点上
  • 红色、绿色 和蓝色则位于其余 3 个顶点

image.png

HEX
  • 十六进制色彩模式,原理同RGB
  • 写前端CSS经常用😁

image.png

四种色轮(色环)配色方案

单色配色方案
  • 单色配色方案的饱和度和明暗 层次明显
  • 容易上手,只考虑一个色相
  • 单色配色方案常被用于表示有直接关系、关系较为密切或同系列的数据
  • 单色配色方案中颜色的选择,其种类不宜过多,3 ~ 5 种较为合适
互补色配色方案
  • 当只能选择两种颜色时,参考互补色配色方案
  • 色轮上间隔 180°(相对) 的两种颜色为互补色
  • 强烈的对比效果 , 可用于科研论文配图中观察组数 据和对照组数据的可视化表达
等距三角配色方案
  • 色轮上彼此间隔 120°的 3 种颜色
  • 可以将其中一种颜色选为主色,将另外两种颜色作为辅色
四角配色方案
  • 两种,见下图d
  • 优点是能够使配图的颜色更加丰富,缺点是使用时具有很大的挑战性,容易造成色彩杂乱
  • 尽量避免

image.png

颜色主题

  • 修改成期刊要求的主题
  • 单色系: 主要维度是颜色亮度(lightness); 次要维度是色调(hue) ,较暖的颜色出现在较亮的一端, 较冷的颜色则会出现在较暗的一端 。
  • 双色渐变色系: 主要用在有一个关键中心值(midpoint)的数值变量中,其本质是 两个连续单色系的组合,把关键的中心值作为中间点,一般使用白色表示

image.png

  • 多色系: 类别型数值(类别变量)
  • 在使用 Matplotlib 库时,用户可直 接通过绘图函数的 cmap 参数来设置绘图的颜色主题

配色工具

Color Scheme Designer

太复杂了,实操有难度😕

Adobe Color

试了试,不太好用😕

ColorBrewer 2.0

https://colorbrewer2.org/#type=sequential&scheme=BuGn&n=3
在线的配色方案辅助工具,尝试了一下,确实非常好用
image.png
① 表示可选的数据类别数。
② 表示可选择的颜色主题。ColorBrewer 2.0 提供了单色系、双色渐变色系和多色系。
③ 表示选定颜色主题后的配色方案。
④ 表示配色方案输出时的注意事项,即用户 是否需要考虑色盲情形、是否友好打印等。
⑤ 表示具体搭配色系的输出模式及对应的颜 色码,可选择的格式HEX、RGB 和 CMYK。
⑥ 用于控制不同颜色搭配方案的一些属性,
⑦ 表示背景设置区域。
⑧ 展示不同颜色搭配方案的预览效果

推荐一个网站

https://colorsinspo.com/
比较简单,点击复制颜色

实操部分

环境配置

因为总是需要特定的包版本,所以在anaconda新开一个环境,环境全部按照书中的来。
conda create -n plotspec python=3.8.13
conda activate plotspec
pip install matplotlib==3.4.3 seaborn==0.11.2 ProPlot==0.9.5 Geopandas==0.11.0 Numpy==1.23.0 pandas==1.4.3 scipy==1.8.1
运行1-1-1,说我没有science主题,根据提示安装了对应包,还是包同样的错误。干脆注释了设置主题这一行代码。
重新运行,报错没有openpyxl,继续pip安装。安装后就画出来了。
后面的代码基本上都可以运行出来,报错的地方是用不上的包和保存图片的部分,注释即可。
image.png
image.png

官网color教程

plt中常用单一颜色格式

RGB RGBA, [0,1] 之间的浮点数tuple
其中透明度A:0是完全透明

- (0.1, 0.2, 0.5)
- (0.1, 0.2, 0.5, 0.3)
十六进制RGB/RGBA字符串,支持缩写
- ‘#0f0f0f’
- ‘#0f0f0f80’
- ‘#abc’ as ‘#aabbcc’
- ‘#fb1’ as ‘#ffbb11’
表示灰度
度:[0,1]浮点数字符串

- ‘0’ as black
- ‘1’ as white
- ‘0.8’ as light gray
单字符表示特定颜色
- ‘b’ as blue
- ‘g’ as green
- ‘r’ as red
- ‘c’ as cyan
- ‘m’ as magenta
- ‘y’ as yellow
- ‘k’ as black
- ‘w’ as white
来自T10的tableau colors
- ‘tab:blue’
- ‘tab:orange’
- ‘tab:green’
- ‘tab:red’
- ‘tab:purple’
- ‘tab:brown’
- ‘tab:pink’
- ‘tab:gray’
- ‘tab:olive’
- ‘tab:cyan’
CN格式
- ‘C0’
- ‘C1’

不同主题下CN不同:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl

th = np.linspace(0, 2*np.pi, 128)


def demo(sty):
    mpl.style.use(sty)   # 设置style的方法
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__心似大海__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值