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

如何在CIE a-b二维散点图中绘制60度分割线

在CIELAB a-b散点图中添加60度分隔线

实现思路

60度直线的斜率为tan(60°)=√3≈1.732,要让线条覆盖整个图表可视范围,只需根据当前a轴的取值区间,计算对应b轴的端点值,再绘制直线即可。

Matplotlib代码示例(基于现有代码扩展)

假设你已经完成了RGB转CIELAB及散点图绘制,添加以下代码即可生成目标线条:

import numpy as np
import matplotlib.pyplot as plt

# (你的现有代码:RGB转CIELAB,提取a、b通道数据)
# plt.scatter(a, b, ...)  # 已有的散点图绘制代码

# 计算60度直线的坐标点
a_left, a_right = plt.xlim()  # 获取当前a轴的显示范围
slope = np.tan(np.deg2rad(60))  # 转换弧度后计算准确斜率
b_bottom = slope * a_left
b_top = slope * a_right

# 绘制绿色60度分隔线
plt.plot([a_left, a_right], [b_bottom, b_top], color="#2ecc71", linewidth=2, label="60° Separator")

# (你的现有图表设置:坐标轴标签、图例等)
plt.xlabel("a* Channel")
plt.ylabel("b* Channel")
plt.legend()
plt.show()

关键细节

  • 用np.deg2rad(60)计算弧度后求正切,比手动输入1.732更精准
  • 通过plt.xlim()获取当前a轴的实际显示区间,确保线条贯穿整个图表
  • 可调整color参数匹配参考图的绿色,linewidth调整线条粗细

如果使用Seaborn、Plotly等其他库,核心逻辑完全一致:先确定直线的两个端点(基于a轴范围和60度斜率),再添加线条图层即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:40:01