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

如何在Python中基于二维(x,y)数据集绘制同心圆环彩色映射图

Python实现同心圆环彩色映射图代码

你可以直接用matplotlib的极坐标投影完成绘制,不需要额外安装复杂库,完整可运行代码如下:

import numpy as np
import matplotlib.pyplot as plt

# 你的输入数据集,这里用示例值填充,替换为你自己的Curve即可
Curve = [
    [0, 0.5, 1, 1.5, 2],  # 同心圆环半径
    [-4.45, 3.8, 23.8, 2.9, 7.86]  # 对应圆环的色码值
]
radius = Curve[0]
color_val = Curve[1]

# 构造极坐标网格,采样200个角度点保证圆环边缘平滑
theta = np.linspace(0, 2 * np.pi, 200)
theta_grid, radius_grid = np.meshgrid(theta, radius)

# 生成每个半径区间对应的颜色值矩阵
color_grid = np.zeros_like(theta_grid)
for idx in range(len(color_val)):
    color_grid[idx, :] = color_val[idx]

# 创建极坐标画布绘图
fig, ax = plt.subplots(subplot_kw={"projection": "polar"})
# 绘制颜色映射,cmap参数可更换为你需要的配色方案,比如coolwarm、rainbow等
mesh = ax.pcolormesh(theta_grid, radius_grid, color_grid, shading="nearest", cmap="viridis")

# 可选配置:隐藏不需要的刻度,让效果更接近参考图
ax.set_xticklabels([])  # 隐藏周向角度刻度
# ax.set_yticklabels([])  # 如果不需要显示半径刻度可以取消这行的注释

# 添加色条说明数值对应关系
fig.colorbar(mesh, ax=ax, label="色码对应数值")

plt.show()

补充说明

  • 如果你需要调整配色,直接修改pcolormesh的cmap参数即可,matplotlib官方支持的所有配色方案都可以直接用
  • 要是觉得圆环边缘不够平滑,把theta = np.linspace(0, 2 * np.pi, 200)里的200改大就行,比如改成360
  • 如果你的半径不是等间隔的,代码也可以直接适配,不需要额外修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:12:01