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

Plotly绘制散点图时ColorBar刻度文本重叠问题求助

解决Plotly ColorBar刻度文本重叠问题

问题根源

你循环添加的每个go.Scatter trace都单独定义了colorbar,导致生成了多个重叠的颜色条,这就是刻度文本重叠的核心原因。

解决方案

只在第一个trace中配置完整的colorbar参数,其余trace通过showscale=False共享同一个颜色条,同时调整刻度文本的显示方式避免重叠:

for i in range(numOfPlots):
    data = DQLists[i]
    yaxis1 = ylists[i]
    # 仅第一个trace设置colorbar,其余共享
    marker_kwargs = dict(
        size=10,
        color=data[:,0],
        colorscale='viridis',
    )
    if i == 0:
        marker_kwargs['colorbar'] = dict(
            title='Data Quality Level', 
            ticktext=['Good Data Quality', 'Bad Checksum', 'Multiple Data Quality Issues'],
            tickvals=[2, 3, 4],
            xpad=10,
            ypad=10,
            tickangle=45,  # 让刻度文本倾斜,避免重叠
            width=200  # 加宽颜色条,给文本足够空间
        )
    else:
        marker_kwargs['showscale'] = False  # 关闭额外的颜色条
    
    fig.add_trace(go.Scatter(
        x=data[:,1], 
        y=yaxis1, 
        mode='markers',
        marker=marker_kwargs,
        name=titles[i],
        showlegend=True
    ))

fig.update_layout(
    legend=dict(
        orientation='h',
        yanchor='top',
        y=1.1,
        xanchor='center',
        x=0.5,
        traceorder='normal',
    ),
    title="Test", 
    xaxis_title="X Axis", 
    yaxis_title="Y Axis"
)
fig.update_yaxes(visible=False)

fig.show()

额外优化方案

  • 如果文本过长,可手动给ticktext换行,比如['Good Data<br>Quality', 'Bad Checksum', 'Multiple Data<br>Quality Issues'],用<br>实现换行
  • 调整colorbar的位置,比如通过x=1.1把颜色条移到图表右侧更远的地方,避免和图表内容冲突
  • 缩小刻度文本字号,添加tickfont=dict(size=10)到colorbar参数中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 18:57:07