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

Python Plotly如何根据Z值绘制灰-红色阶编码的多色折线图

基于Z列给XY折线做颜色编码的实现方法

px.line 原生不支持单条折线按第三列数值做连续色映射,直接调用plotly.graph_objects.Scatter绑定颜色字段即可实现灰-红渐变效果,可直接运行的代码如下:

import plotly.graph_objects as go
import pandas as pd

# 此处df为包含X、Y、Z三列的目标DataFrame
fig = go.Figure()
fig.add_trace(
    go.Scatter(
        x=df["X"],
        y=df["Y"],
        mode="lines",
        line=dict(
            # 绑定Z列为颜色映射字段
            color=df["Z"],
            # 自定义灰-红配色:Z低值对应中灰,Z高值对应正红
            colorscale=[[0, "rgb(127,127,127)"], [1, "rgb(220,20,20)"]],
            width=3,
            # 显示侧边色阶条,标注Z值对应关系
            showscale=True,
            colorbar=dict(title="Z值")
        )
    )
)

# 按需调整布局后导出图片
fig.write_image("color_coded_line.png")

可调参数说明

  • 配色调整:想改灰色、红色的深浅直接改colorscale里对应的RGB色值就行,需要多段渐变也可以在列表里插入更多色值节点
  • 映射范围固定:如果不想颜色跟着数据集的Z极值自动缩放,在line配置里加cmin=你要绑定的最小Z值, cmax=你要绑定的最大Z值即可
  • 渐变平滑度:如果看到颜色有明显断层,把X/Y/Z的采样点加密就行,相邻点间距越小,颜色过渡越顺滑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 16:33:28