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

如何在Plotly Table中指定数据类型与数值格式?

Plotly 多列自定义数据格式实现方法

go.Table的format参数遵循D3格式规范,不能直接传入text/percentage这类标识,按以下规则配置即可实现不同列的格式区分:

import plotly.graph_objs as go

fig = go.Figure(data=[go.Table(
    header=dict(values=['<b>Source</b>', '<b>Installed Capacity (MW)</b>',
                       '<b>Optimum Capacities(MW)</b>', '<b>Generation Units (MWh)</b>',
                       '<b>PLF (%)</b>', '<b>Generation Share (%)</b>',
                       '<b>Annual Generation (MU)</b>']),
    cells=dict(values=[list(installCapacities.keys()), list(installCapacities.values()),
                      list(optimumCapacities.values()), list(generationUnits.values()),
                      list(plf.values()), list(generationShare.values()),
                      list(annualGeneration.values())],
               align='center',
               # 按列顺序对应配置格式串
               format=[
                   '',  # 第一列是文本,无格式转换
                   ',.2f',  # 数值列:保留2位小数,带千分位分隔符
                   ',.2f', 
                   ',.2f', 
                   '.1%',  # 百分比列:原始值为小数(如0.42)自动转42.0%
                   '.1%',
                   ',.0f'  # 数值列:保留整数,带千分位分隔符
               ]
))])

格式串说明

  • 文本类列:填空字符串''即可,不对内容做格式处理
  • 数值类列:
    • 保留n位小数:.nf,比如保留1位小数写.1f
    • 增加千分位分隔符:加逗号前缀,比如,.2f就是千分位+2位小数
  • 百分比类列:
    • 原始值为小数(如0.35代表35%):用.n%,会自动将数值乘100后加百分号,.1%最终显示为35.0%
    • 原始值已经是放大100后的数值(如35代表35%):用.nf%,直接在数值后加百分号,.1f%最终显示为35.0%

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 01:39:03