You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Matplotlib为自定义ColorChecker色卡添加内外边界?

自定义ColorChecker色卡添加边界的实现方案

要给每个色块添加内部边界、给整个色卡添加外边界,可以通过Matplotlib的内置参数和矩形补丁来实现,具体代码和说明如下:

完整可运行代码

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle

# 定义色卡的RGB颜色矩阵
primary_color = np.array(
    [
        [[0,80,159], [15,165,56], [230,49,80]],
        [[227,227,227], [51,51,51],[255,229,0]], 
    ], dtype='uint8'
)

fig, ax = plt.subplots()
# 绘制色卡并设置内部色块的边界
ax.matshow(primary_color, edgecolor='black', linewidth=2)

# 添加色卡的外边界
rows, cols = primary_color.shape[:2]
# 计算外框的位置:适配matshow的中心对齐坐标
outer_rect = Rectangle((-0.5, -0.5), cols, rows, edgecolor='black', linewidth=3, fill=False)
ax.add_patch(outer_rect)

plt.axis('off')
plt.show()

关键细节说明

  • 内部色块边界:调用matshow时,通过edgecolor指定色块间边框的颜色,linewidth控制边框粗细,直接实现每个色块的内部分隔线;
  • 色卡外边界:利用Rectangle补丁绘制覆盖整个色卡的外框,(-0.5, -0.5)是因为matshow的坐标以色块中心为基准,偏移0.5才能对齐色块的边缘;cols和rows对应色卡的列数和行数,确保外框刚好包裹所有色块;
  • 若需要区分内外边界样式(比如内部用灰色、外部用粗黑),只需修改两处的edgecolor和linewidth参数即可。

内容的提问来源于stack exchange,提问作者Strange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 23:05:24