目录
科研论文配图主要成分
常见的插图格式
像素图
矢量图
色彩模式
RGB色彩模式
CMYK色彩模式
HEX色彩模式
色轮配色原理
单色配色方案
例子
互补色配色方案
例子
等距三角配色方案
例子
四角配色方案
例子
颜色主题
单色系
例子
双色渐变色系
例子
多色系
例子
配色工具
Color Scheme Designer
Adobe Color
ColorBrewer 2.0
科研论文配图主要成分
主要包括
X
轴(
X
axis
,又称横轴)、
Y
轴(
Y
axis
,又称纵轴)、
X
轴标签(
X axis label)、
Y
轴标签(
Y
axis label
)、主刻度(
Major tick
)、次刻度(
Minor tick
)和图例(
Legend)等。
常见的插图格式
像素图
像素图(位图)是以单个像素为单位,通过对像素进行组合和排列,来显示图片格式。像素图在放大到一定程度后,会失真,变得模糊。常见的像素图格式包括 JPEG
、
PSD
、
PNG
、
TIFF
,其中,
JEPG
是一种常用的有损压缩图片格式,处理起来较容易,但像素分辨率低、清晰度差、色彩损失大。
矢量图
矢量图是使用点、直线或多边形等基于数学方程的几何图元表示的图像。矢量图的图像文件包含独
立的分离图像,可以自由、无限制地进行重新组合,其特点是放大后图像不会失真,也就是说,与分辨率无关。常见的矢量图格式包括 EPS
、
PDF
、
AI
、
SVG
,其中,
EPS
格式的图片文件小、显示质量高、色彩保真度高,印刷时的字样较为清晰,是常用的论文配图格式;AI
格式是一种可以二次修改的图片格式,也是常用的插图格式,其体积较大,包含图片各图层的所有信息。
色彩模式
RGB色彩模式
CMYK色彩模式
HEX色彩模式
色轮配色原理
色轮配色原理是一种使用色轮(色彩环)来组合颜色的方法,以实现视觉上的和谐和平衡。色轮通常包括12个主要颜色:三原色、三间色和六个次级色。
单色配色方案
单色配色方案是指将色相相同或相近的一组颜色进行组合。单色配色方案的饱和度和明暗层次明显。
例子
只改变给定颜色的明度。
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
import numpy as np
def plot_single_color_scheme(base_color_hex):
base_color_rgb = mcolors.hex2color(base_color_hex)
shades = np.linspace(0.1, 1, 10) # 10个不同的明度
fig, ax = plt.subplots(figsize=(10, 1))
for i, shade in enumerate(shades):
modified_color = [shade * c for c in base_color_rgb]
ax.add_patch(plt.Rectangle((i, 0), 1, 1, facecolor=modified_color))
ax.set_xlim(0, len(shades))
ax.set_ylim(0, 1)
ax.axis('off')
plt.show()
# Example usage with a base blue color
plot_single_color_scheme('#0000FF')
互补色配色方案
当只能选择两种颜色时,我们可参考互补色配色方案进行选择。色轮上间隔
180
°(相对)的两种颜色为互补色。
例子
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
def plot_complementary_color_scheme(base_color_hex):
base_color_rgb = mcolors.hex2color(base_color_hex)
complementary_color_rgb = [1 - c for c in base_color_rgb] # 计算互补色
fig, ax = plt.subplots(figsize=(2, 1))
# 绘制基本颜色
ax.add_patch(plt.Rectangle((0, 0), 1, 1, facecolor=base_color_rgb))
# 绘制互补颜色
ax.add_patch(plt.Rectangle((1, 0), 1, 1, facecolor=complementary_color_rgb))
ax.set_xlim(0, 2)
ax.set_ylim(0, 1)
ax.axis('off')
plt.show()
# Example usage with a base blue color
plot_complementary_color_scheme('#0000FF')
等距三角配色方案
等距三角配色方案是指将色轮上彼此间隔
120
°的
3
种颜色进行组合。等距三角配色方案会让配图的颜色更加丰富。
例子
import matplotlib.pyplot as plt
import colorsys
def plot_triadic_color_scheme(base_color_hex):
base_color_rgb = [int(base_color_hex[i:i+2], 16) / 255.0 for i in (1, 3, 5)]
base_color_hsv = colorsys.rgb_to_hsv(*base_color_rgb)
fig, ax = plt.subplots(figsize=(3, 1))
# 绘制基本颜色和两个等距离的颜色
for i in range(3):
hue = (base_color_hsv[0] + i / 3.0) % 1
triadic_color_rgb = colorsys.hsv_to_rgb(hue, base_color_hsv[1], base_color_hsv[2])
ax.add_patch(plt.Rectangle((i, 0), 1, 1, facecolor=triadic_color_rgb))
ax.set_xlim(0, 3)
ax.set_ylim(0, 1)
ax.axis('off')
plt.show()
# Example usage with a base blue color
plot_triadic_color_scheme('#0000FF')
四角配色方案
四角配色方案的优点是能够使配图的颜色更加丰富,缺点是使用时具有很大的挑战性,容易造成色彩杂乱,很多用户其实很难平衡自己选择的多种颜色。在科研论文配图的颜色选择过程中,我们要尽量避免使用四角配色方案。
例子
import matplotlib.pyplot as plt
import colorsys
def plot_tetradic_color_scheme(base_color_hex):
base_color_rgb = [int(base_color_hex[i:i+2], 16) / 255.0 for i in (1, 3, 5)]
base_color_hsv = colorsys.rgb_to_hsv(*base_color_rgb)
fig, ax = plt.subplots(figsize=(4, 1))
# 绘制基本颜色和三个等距离的颜色
for i in range(4):
hue = (base_color_hsv[0] + i / 4.0) % 1
tetradic_color_rgb = colorsys.hsv_to_rgb(hue, base_color_hsv[1], base_color_hsv[2])
ax.add_patch(plt.Rectangle((i, 0), 1, 1, facecolor=tetradic_color_rgb))
ax.set_xlim(0, 4)
ax.set_ylim(0, 1)
ax.axis('off')
plt.show()
# Example usage with a base blue color
plot_tetradic_color_scheme('#0000FF')
颜色主题
Matplotlib
库的颜色主题主要包括
3
种类型:单色系(
sequential
)、双色渐变色系(
diverging
)
和多色系(
qualitative
)。
单色系
单色系主题中颜色的色相基本相同,饱和度单调递增。它的主要维度是颜色亮度(
lightness
), 一般情况下,较低的数值对应较亮的颜色,较高的数值对应较暗的颜色,这是因为可视化配图往往是在白色或浅色背景上绘制的,而在深色背景中,则会出现相反的情况,即更亮的颜色用更高的数值表示。单色系主题的次要维度是色调(hue),即较暖的颜色出现在较亮的一端,较冷的颜色则会出现在较暗的一端。
例子
import matplotlib.pyplot as plt
import colorsys
def plot_monochromatic_color_scheme(base_color_hex):
base_color_rgb = [int(base_color_hex[i:i+2], 16) / 255.0 for i in (1, 3, 5)]
base_color_hsv = colorsys.rgb_to_hsv(*base_color_rgb)
fig, ax = plt.subplots(figsize=(5, 1))
# 绘制基本颜色的五个不同明度
for i in range(5):
value = 0.5 + i * 0.1 # 调整明度
monochromatic_color_rgb = colorsys.hsv_to_rgb(base_color_hsv[0], base_color_hsv[1], value)
ax.add_patch(plt.Rectangle((i, 0), 1, 1, facecolor=monochromatic_color_rgb))
ax.set_xlim(0, 5)
ax.set_ylim(0, 1)
ax.axis('off')
plt.show()
# Example usage with a base blue color
plot_monochromatic_color_scheme('#00FF00')
双色渐变色系
双色渐变色系颜色主题主要用在有一个关键中心值(
midpoint
)的数值变量中,其本质是两个连续单色系的组合,把关键的中心值作为中间点,一般使用白色表示,大于中心值的分配给中间点一侧的颜色,而小于中心值的分配给中间点另一侧的颜色。此外,我们可以通过颜色的深浅进行判断,即中心值通常被指定为浅色,距中心点越远,颜色越深。
例子
import matplotlib.pyplot as plt
def plot_bicolor_gradient_scheme(color1_hex, color2_hex):
color1_rgb = [int(color1_hex[i:i+2], 16) / 255.0 for i in (1, 3, 5)]
color2_rgb = [int(color2_hex[i:i+2], 16) / 255.0 for i in (1, 3, 5)]
white_rgb = [1, 1, 1]
fig, ax = plt.subplots(figsize=(10, 1))
# 绘制从color1到白色,再到color2的渐变
for i in range(10):
t = i / 9.0
if t < 0.5:
t *= 2 # Scale t to [0, 1]
gradient_color_rgb = [(1-t) * c1 + t * w for c1, w in zip(color1_rgb, white_rgb)]
else:
t = (t - 0.5) * 2 # Scale t to [0, 1]
gradient_color_rgb = [(1-t) * w + t * c2 for w, c2 in zip(white_rgb, color2_rgb)]
ax.add_patch(plt.Rectangle((i, 0), 1, 1, facecolor=gradient_color_rgb))
ax.set_xlim(0, 10)
ax.set_ylim(0, 1)
ax.axis('off')
plt.show()
# Example usage with blue and red colors
plot_bicolor_gradient_scheme('#0000FF', '#FF0000')
多色系
当所表示的数据为类别型数值(类别变量)时,我们可以使用多色系颜色主题。
例子
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LinearSegmentedColormap
def plot_multicolor_gradient(colors_hex):
# 创建自定义的颜色映射
cmap = LinearSegmentedColormap.from_list("custom_cmap", colors_hex)
# 创建渐变条
gradient = np.linspace(0, 1, 256).reshape(1, -1)
gradient = np.vstack((gradient, gradient))
# 绘制渐变条
fig, ax = plt.subplots(figsize=(8, 1))
ax.imshow(gradient, aspect="auto", cmap=cmap)
ax.set_axis_off()
plt.show()
# Example usage with a set of colors
colors = ['#FF0000', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF']
plot_multicolor_gradient(colors)
配色工具
Color Scheme Designer
主要以色环(色轮)的方式为使用者选择配色,包括单色搭配、互补色搭配、三角形搭配、矩形搭配、类似色搭配和“类似色搭配互补色”6
种色环配色方案。

工具网址:https://www.wauu.net/tools/ps/
Adobe Color
工具网址:https://color.adobe.com/create/color-wheel
ColorBrewer 2.0
工具网址:ColorBrewer: Color Advice for Maps