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

如何用Python制作对角线分隔的混色网格?

实现对角线分色的混色刻度数值网格

我需要创建一个混色刻度数值网格,核心要求是对角线上下区域根据数值呈现不同配色:

  • 对角线下方区域:采用红绿色混合配色,数值越高绿色占比越高
  • 对角线上方区域:采用红蓝色混合配色,数值越高蓝色占比越高
    无需显示网格内的数值,此前通过谷歌表格条件格式实现过,现在要改用Python完成。

改进后的代码

import matplotlib.pyplot as plt
import numpy as np

# 定义网格尺寸
n = 20

# 创建数值网格(示例:基于到对角线的距离生成0-1的归一化数值)
values = np.zeros((n, n))
for i in range(n):
    for j in range(n):
        if j < i:  # 下三角区域
            values[i, j] = (i - j) / (n - 1)
        elif j > i:  # 上三角区域
            values[i, j] = (j - i) / (n - 1)
        # 对角线数值设为0(可按需调整)
        else:
            values[i, j] = 0

# 初始化RGB颜色网格
grid = np.zeros((n, n, 3))

# 填充下三角:红+绿混合,数值越高绿色越浓
for i in range(n):
    for j in range(i):
        val = values[i, j]
        grid[i, j] = [1, val, 0]

# 填充上三角:红+蓝混合,数值越高蓝色越浓
for i in range(n):
    for j in range(i + 1, n):
        val = values[i, j]
        grid[i, j] = [1, 0, val]

# 对角线设置为纯红色(可自定义)
for i in range(n):
    grid[i, i] = [1, 0, 0]

# 显示网格并关闭坐标轴
plt.imshow(grid)
plt.axis('off')
plt.show()

关键说明

  • 数值网格可替换为你实际业务中的刻度数值,示例仅用距离对角线的距离生成渐变值
  • 配色逻辑:红色作为基础色,下三角用数值控制绿色分量,上三角用数值控制蓝色分量,实现高值时的目标混色效果
  • 对角线颜色可根据需求修改,示例设置为纯红色
  • 关闭坐标轴后仅展示配色网格,符合无需显示数值的要求

内容的提问来源于stack exchange,提问作者Edimilson Rodrigues Ed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 02:25:22