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

如何实现Plotly Express水平图例表格宽度与图表宽度同步自适应?

解决Plotly Express水平图例无法随页面同步拉伸的问题

我之前也碰到过这个情况——水平布局的图例在页面缩放时总是跟不上图表的宽度变化,只缩在一边。其实只需要在图例配置里加个宽度设置,再调整下定位参数就能搞定。

修改后的完整代码

import plotly.express as px
from datetime import datetime  # 别忘了导入datetime模块

df = px.data.gapminder().query("year==2007")
fig = px.scatter(df, x="gdpPercap", y="lifeExp", color="continent", size="pop", size_max=45, log_x=True)

fig.update_layout(legend=dict(
    orientation="h",
    yanchor="bottom",
    y=1.02,
    xanchor="left",  # 改为左对齐,让图例从绘图区域左侧开始
    x=0,             # 定位到绘图区域左边缘
    bgcolor="LightGray",
    bordercolor="Black",
    borderwidth=1,
    tracegroupgap=50,
    width=1          # 设置宽度为绘图区域的100%,实现同步拉伸
))

filedate = datetime.now().strftime("%d%m%Y_%H%M")
with open(filedate + '_graph.html', 'a') as f:
    f.write(fig.to_html(full_html=False, include_plotlyjs='cdn', config={'displayModeBar': False}))

关键修改说明

  • 定位调整:把xanchor从"right"改成"left",同时x设为0,这样图例的起点会对齐绘图区域的左边缘,而不是右边缘。
  • 宽度设置:新增width=1,这个值是相对于绘图区域的比例,1就代表占满整个绘图区域的宽度。这样当图表随页面缩放时,图例也会同步拉伸。
  • 原有的背景色、边框、间距等样式配置都可以保留,不影响这个功能。

现在生成HTML后用Ctrl+滚轮缩放页面,就能看到图例和图表一起铺满宽度,同步调整尺寸了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 19:57:41