Python 中的颜色
Shivam Arora
2024年2月15日
本文旨在介绍 Python 中 Matplotlib
模块用于显示图形的命名颜色。在绘制图形时,Python 为用户提供了选择通过其 Matplotlib
库显示的命名颜色的选项。
在 Python 中,颜色名称及其十六进制代码是从 color.py
模块中的字典中检索的。
在以下代码中,我们打印此模块中的颜色名称。
import matplotlib
for cname, hex in matplotlib.colors.cnames.items():
print(cname, hex)
输出:
'aliceblue': '#F0F8FF',
'antiquewhite': '#FAEBD7',
'aqua': '#00FFFF',
'aquamarine': '#7FFFD4',
'azure': '#F0FFFF',
'beige': '#F5F5DC',
'bisque': '#FFE4C4',
'black': '#000000',
'blanchedalmond': '#FFEBCD',
'blue': '#0000FF',
'blueviolet': '#8A2BE2',
'brown': '#A52A2A',
'burlywood': '#DEB887',
'cadetblue': '#5F9EA0',
...more
matplotlib.colors.cnames.items()
返回存储颜色名称和代码的字典集合。名称存储为字典的键,十六进制代码存储为其值。
我们可以将这些颜色用于具有兼容库的不同类型的图形和图形。我们可以在一个图形中绘制所有这些颜色并比较每种颜色。
请参考以下代码。
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.colors as colors
import math
fig = plt.figure()
ax = fig.add_subplot(111)
ratio = 1.0 / 3.0
count = math.ceil(math.sqrt(len(colors.cnames)))
x_count = count * ratio
y_count = count / ratio
x = 0
y = 0
w = 1 / x_count
h = 1 / y_count
for cl in colors.cnames:
pos = (x / x_count, y / y_count)
ax.add_patch(patches.Rectangle(pos, w, h, color=cl))
ax.annotate(cl, xy=pos)
if y >= y_count - 1:
x += 1
y = 0
else:
y += 1
plt.show()
输出图:
在上面的代码中,我们用各自的名称绘制了每种颜色。我们将图形分成几个子图,并使用 add_patch()
函数在每种颜色的每个轴上将每种颜色绘制在一个小的矩形块中。