我使用plotly 创建了一个表格,其中包含混合类型的值,例如文本、数字和百分比。我创建的表格如下所示:
正如您所看到的,某些数字具有非常大的小数位,或者某些数字(如 PLF 列)不是百分比形式。如何在绘图中指定这些数字的格式?我的尝试:
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=['text', 'number', 'number', 'number', 'percentage',
'percentage', 'number']))
])
值来自不同的字典,它们的计算非常复杂,这就是为什么我在这里没有提到,我只是想如何指定它们的数据类型,如
text
,number
或percentage
?
根据文档,您在D3 3.x API 中指定格式。。例如,字符串
.2%
会将您的数字格式化为小数点后两位数字的百分比。
这是一个例子:
import plotly.graph_objects as go
fig = go.Figure(data=[go.Table(
header=dict(values=["perc","number","text"]),
cells=dict(values=[["0.111111","0.2333","0.92"],["123","456","789"],["1234text","1234","text"]],
align="center", format=[".2%","g",""]))]
)
fig.show()