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
相关产品推荐
相关产品推荐

