如何在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位小数
- 保留n位小数:
- 百分比类列:
- 原始值为小数(如0.35代表35%):用
.n%,会自动将数值乘100后加百分号,.1%最终显示为35.0% - 原始值已经是放大100后的数值(如35代表35%):用
.nf%,直接在数值后加百分号,.1f%最终显示为35.0%
- 原始值为小数(如0.35代表35%):用
内容的提问来源于stack exchange,提问作者Vesper
相关产品推荐
相关产品推荐

