Plotly冰柱图如何在区块内显示数值?update_traces方法失效
解决Plotly冰柱图区块内显示数值的问题
冰柱图属于层级可视化图表,它的texttemplate变量规则和柱状图不同,不能直接用values或原数据列名(比如total),需要使用内置的value变量调用数值,结合label可以同时显示分类标签和下方的数值。
修正后的代码示例:
import plotly.express as px # df是包含level_1、level_2、level_3和total列的pandas DataFrame fig = px.icicle(df, path=['level_1', 'level_2', 'level_3'], values='total') # 显示分类标签,换行后显示保留1位小数的数值 fig.update_traces(texttemplate="%{label}<br>%{value:.1f}") fig.show()
关键说明:
- 冰柱图的
texttemplate支持的内置变量为label(对应路径中的分类名称)和value(对应values参数传入的数值) - 使用
<br>标签可以让数值显示在分类标签的下方,满足需求 - 如果仅需显示数值,直接设置
texttemplate="%{value:.1f}"即可
内容的提问来源于stack exchange,提问作者thosphor
相关产品推荐
相关产品推荐

