Plotly如何在图例下方添加文本框?除文本注释外还有其他实现方法吗
Plotly图例下方添加文本的替代实现方案
除了官方的Text and Annotations功能外,还有两种常用的可行实现方案:
方案1:复用图例标题属性
直接通过自定义图例标题的文本内容实现,用HTML换行标签<br>拆分图例主标题和下方补充文本,还可以通过行内样式调整补充文本的视觉效果,无需额外添加注释组件,代码最简洁。
import plotly.express as px df = px.data.medals_long() fig = px.bar(df, x="medal", y="count", color="nation", pattern_shape="nation", pattern_shape_sequence=[".", "x", "+"]) # 自定义图例标题,加入下方补充文本 fig.update_layout( legend=dict( title=dict( text="参赛国家<br><span style='font-size:12px; color:#808080'>统计维度:冬奥会奖牌<br>图案对应不同参赛主体</span>", font=dict(size=15) ) ) ) fig.show()
方案2:使用布局全局文本属性
通过layout.text配置全局文本,再搭配坐标定位参数调整到图例下方,适合补充文本内容较长、需要单独设置对齐规则的场景。
import plotly.express as px df = px.data.medals_long() fig = px.bar(df, x="medal", y="count", color="nation", pattern_shape="nation", pattern_shape_sequence=[".", "x", "+"]) # 配置全局文本并定位到图例下方 fig.update_layout( text="备注:<br>1. 数据集为Plotly内置演示数据<br>2. 图案样式可自定义调整", x=1.02, # 横坐标与图例左侧对齐 y=0.7, # 纵坐标调整至图例底部下方 xanchor="left", yanchor="top", font=dict(size=12, color="#666") ) fig.show()
如果你的图例位置不是默认的右侧,只需要对应调整上述两种方案的位置参数即可适配。
内容的提问来源于stack exchange,提问作者aj7amigo
相关产品推荐
相关产品推荐

