本例使用matplotlib库绘制了红、绿、蓝三原色的色阶渐变图。基本原理是用长而窄的纯色矩形来表示每个色阶,并将它们绘制在一张图中,效果如图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/852a3627b133321a82c65ef809762286.png)
1 实现思路
注意:matplotlib中,color三元组元素的范围是0~1.0而不是0~255.
红色条RGB范围:(0, 0, 0)~(1.0, 0, 0)
绿色条RGB范围:(0, 0, 0)~(0, 1.0, 0)
蓝色条RGB范围:(0, 0, 0)~(0, 0, 1.0)
2 代码
import matplotlib.pyplot as plt
a = [i for i in range(256)] #色阶数(256),越大越精细
rgb_mask = [0, 0, 1] #更改0与1的顺序可以调换色条颜色
fig = plt.figure()
ax = fig.add_subplot() #创建子图
ax.set(xlim=(0, 300), ylim=(0, 13)) #坐标范围
for c in range(3):
for i in range(256):
rect = plt.Rectangle(xy=(i, 3.5*c+4),
width=1,
height=1,
color=(a[i]/255*rgb_mask[c%3], a[i]/255*rgb_mask[(c+1)%3], a[i]/255*rgb_mask[(c+2)%3])
)
ax.add_patch(rect)
plt.show()