颜色是电磁波频率的体现,具有连续性和叠加性,有无穷多种。研究人员根据人眼中辨别颜色的锥状细胞的性质,提出了三原色的概念。以RGB色彩为例,在计算机中,即使把三原色离散化后,总共也有256×256×256=16777216种,即一千六百万多种。如果考虑颜色组合,那么有(10^7)^n种选择,其中n为组合颜色的个数。如果考虑颜色的排列和渐变,则可选择的会更多。当考虑了美感、特殊风格等,颜色选择范围会有所降低,但仍然是天文数字的范围。
本篇做一些颜色方面的记录,可给论文中图片的配色做参考(非专业美术),之后可能不定期更新补充。额外说明:数据远比颜色以及美工重要得多,因此可不需要费太多精力在这上面。
一、RGB纯色
在画图中,可能会需要用到RGB的16进制形式。RGB转16进制有很多在线工具,这里可通过Python来实现(用到个人的软件包Guan https://py.guanjihuan.com):
import guan
print(guan.rgb_to_hex((255, 0, 0)))
print(guan.hex_to_rgb('#FF0000'))
RGB纯色的例子:
import numpy as np
import matplotlib.pyplot as plt
import guan
x = np.linspace(-2, 2)
y = np.exp(x)
plt.plot(x, y, color=guan.rgb_to_hex((255, 0, 0)))
plt.plot(x, y+1, color=guan.rgb_to_hex((0, 255, 0)))
plt.plot(x, y+2, color=guan.rgb_to_hex((0, 0, 255)))
plt.show()
运行结果:
二、Matplotlib内置的颜色名称
官方参考资料:https://matplotlib.org/3.5.2/gallery/color/named_colors.html。
Matplotlib中命名过的颜色列表(List of named colors):
说明这里rgb的颜色并不是RGB纯色,例子如下:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-2, 2)
y = np.exp(x)
plt.plot(x, y, color='r')
plt.plot(x, y+1, color='g')
plt.plot(x, y+2, color='b')
plt.show()
plt.plot(x, y, color='tab:red')
plt.plot(x, y+1, color='tab:green')
plt.plot(x, y+2, color='tab:blue')
plt.show()
运行结果:
虽然都是红绿蓝,但和之前的不完全相同,这里更具美感。其中,Tableau Palette的十个颜色是Matplotlib画图的默认颜色,按列顺序依次调用。例子如下:
import numpy as np
import matplotlib.pyplot as plt
x_array = np.linspace(-5, 5, 3)
y_array = np.transpose([x_array, x_array+1, x_array+2, x_array+3, x_array+4, x_array+5, x_array+6, x_array+7, x_array+8, x_array+9, x_array+10, x_array+11, x_array+12])
plt.plot(x_array, y_array)
plt.show()
运行结果:
实际上,通过Matplotlib的内置颜色名称已经可以实现大部分画图中的颜色选择和搭配。
三、RGB的更多选择
一个RGB颜色有256×256×256=16777216种。通过调节RGB的各个值(或者16位进制的值),可以得到任意颜色,而不仅仅局限于Matplotlib的颜色风格中。
有的软件中有颜色选择的组合。此外,也有一些颜色选择的网站,可作为参考:
- Colorable.jxnblk:https://colorable.jxnblk.com/
- Color.haipixel:https://color.hailpixel.com/
- Toptal ColourCode:https://www.toptal.com/designers/colourcode
- Coolors:https://coolors.co/
- Dopely Colors:https://colors.dopely.top/
- Color Hunt:https://colorhunt.co/
- color.adobe:https://color.adobe.com/zh
- uiGradients:https://uigradients.com/
其他参考资料:
[1] 科研论文配色【不断更新】
[2] 科研作图配色避雷指南
[3] 跟顶级期刊学图片配色,附专属色号
【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com】