Python 中的顏色
Shivam Arora
2022年12月21日
2021年10月2日
本文旨在介紹 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()
函式在每種顏色的每個軸上將每種顏色繪製在一個小的矩形塊中。