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

Plotly填充折线图图例如何仅显示线条颜色不显示填充色

Plotly填充折线图图例仅显示线条颜色的解决方案

完全可以实现,不需要修改全局图例的基础布局,两种常用实现方案如下:

方案1:使用legenditem参数(Plotly v4.14及以上版本推荐)

直接在每个带填充的折线trace中添加legenditem="line"配置即可,该参数可以指定图例项仅展示线条样式,屏蔽填充色块的显示,示例代码如下:

import plotly.graph_objects as go

fig = go.Figure()

# 添加带填充的折线,图例仅显示线条
fig.add_trace(go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 15, 13, 17],
    fill='tonexty',
    line=dict(color='blue'),
    name='数据序列1',
    legenditem='line' # 核心配置项
))

fig.update_layout(title='填充折线图示例')
fig.show()

方案2:旧版本兼容方案

如果你使用的Plotly版本不支持legenditem参数,可以通过拆分Trace的方式实现效果:

  • 先创建带填充的折线Trace,将showlegend设为False,不生成图例
  • 再创建一个和上述Trace线条样式完全一致、不带填充参数的Trace,仅用来生成图例,两条Trace线条完全重合不会影响图表显示

示例代码如下:

import plotly.graph_objects as go

fig = go.Figure()

# 带填充的trace,不显示图例
fig.add_trace(go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 15, 13, 17],
    fill='tonexty',
    line=dict(color='blue'),
    showlegend=False
))
# 仅生成图例的trace,不带填充
fig.add_trace(go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 15, 13, 17],
    line=dict(color='blue'),
    name='数据序列1'
))

fig.update_layout(title='填充折线图示例')
fig.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:45:00