使用go.Bar()绘制堆叠柱状图时如何消除柱体间横向缝隙?
堆叠柱状图缝隙消除方案
堆叠柱之间的细小横向缝隙由Plotly底层渲染的描边显示、像素对齐逻辑导致,可通过以下方法修复:
- 关闭柱状图默认描边:给所有
go.Bar实例添加marker_line_width=0参数,消除柱体边缘默认的极细边框,避免边框在堆叠位置透出形成缝隙 - 对齐边缘颜色:如果仍存在缝隙,可额外指定
marker_line_color与对应柱体的填充色一致,进一步避免边缘透出 - 升级Plotly版本:部分旧版本Plotly内置渲染逻辑存在堆叠柱状图像素对齐bug,升级到最新稳定版即可解决,升级命令如下:
pip install --upgrade plotly
- 调整页面缩放:如果在浏览器中查看渲染结果,将页面缩放比例调整为100%可消除因缩放导致的渲染误差缝隙
修复后完整代码
import plotly.graph_objects as go fig = go.Figure(data=[ go.Bar( name='SF Zoo', x=['giraffes', 'orangutans', 'monkeys'], y=[20, 14, 23], marker_line_width=0 ), go.Bar( name='LA Zoo', x=['giraffes', 'orangutans', 'monkeys'], y=[12, 18, 29], marker_line_width=0 ) ]) fig.update_layout(barmode='stack', bargap=0) fig.show()
内容的提问来源于stack exchange,提问作者AltaStatistika
相关产品推荐
相关产品推荐

