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

如何用Plotly基于三个输入列表实现带温度色阶第三轴的二维柱状图

自定义列表输入的色阶绑定柱状图实现方案

这套方案完全基于你找到的Plotly参考代码改造,不需要额外引入其他可视化工具,核心改动点非常明确:

  • 砍掉对Plotly内置Gapminder数据集的依赖,直接接收三组独立列表(X轴值、Y轴值、温度值)作为输入
  • 复用原有色值绑定逻辑,把原代码里绑定预期寿命值的色阶参数,直接替换为你的温度序列,Plotly会自动生成配套的连续色阶图例,实现“颜色作为第三维度”的非3D图表效果
  • 全程不需要手写颜色映射规则,柱子的颜色会自动和对应位置的温度值一一匹配

可直接复用的实现代码

import plotly.express as px
import pandas as pd

def generate_temp_color_bar(x_data, y_data, temp_data):
    # 三组输入列表直接打包为绘图需要的结构化数据
    source_df = pd.DataFrame({
        "X轴维度": x_data,
        "Y轴维度": y_data,
        "温度维度": temp_data
    })

    fig = px.bar(
        source_df,
        x="X轴维度",
        y="Y轴维度",
        color="温度维度",  # 绑定温度序列作为第三可视化维度,自动生成对应色阶
        color_continuous_scale="Thermal",  # 内置适配温度场景的专用配色,可按需替换为其他色阶
        height=400
    )
    fig.show()

# 调用示例:直接传入你自己的三组列表即可
# x_list = [10, 20, 30, 40, 50]
# y_list = [12, 19, 23, 18, 28]
# temp_list = [18.5, 22.3, 28.1, 26.7, 33.2]
# generate_temp_color_bar(x_list, y_list, temp_list)

容易踩的适配细节

  • 三组输入列表的长度必须完全一致,否则会触发数据长度不匹配的报错
  • 如果需要固定温度和颜色的映射范围,可在px.bar的配置里新增range_color=[temp_min, temp_max]参数,避免个别极端温度值打乱整体色阶的展示比例
  • 原参考代码支持的hover_data、labels、text等参数都可以直接追加到函数配置里,适配自定义悬浮提示、轴标签、柱上标值等需求
  • 如果不想额外引入pandas依赖,可直接把存储三组列表的字典传入px.bar的第一个位置参数,绘图效果和用DataFrame构造的方式完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 16:57:04