Plotly中2D笛卡尔坐标系轴线颜色未按设置变黑的问题
Plotly轴线矩形显示异常的原因及解决办法
问题原因
你用fig.add_shape绘制轴线时,设置的矩形高度或宽度为0:
- x轴对应的矩形设置了
y0=0、y1=0,高度为0 - y轴对应的矩形设置了
x0=0、x1=0,宽度为0
Plotly无法渲染面积为0的形状,这些"轴线矩形"实际并未显示,你看到的白色其实是画布的背景色。
解决方法
有两种可行方案:
方案1:给轴线矩形设置极小的高度/宽度
调整矩形范围,让它具备可渲染的微小面积,示例代码:
# AXIS - 修改后 fig.add_shape(type="rect", x0=-9, y0=-0.05, x1=9, y1=0.05, fillcolor="#000000", opacity=1, layer="below", line_width=0,) fig.add_shape(type="rect", x0=-0.05, y0=-9, x1=0.05, y1=9, fillcolor="#000000", opacity=1, layer="below", line_width=0,)
方案2:直接通过轴属性设置轴线颜色
无需用shape绘制轴线,直接修改x轴和y轴的原生属性,更简洁规范:
fig.update_xaxes(range=axis_range, title='', tickmode='linear', showticklabels=False, side='top', gridcolor="rgb(224,224,224)", showgrid=False, linecolor="#000000", linewidth=2) fig.update_yaxes(range=axis_range, title='', tickmode='linear', showticklabels=False, side='right', gridcolor="rgb(224,224,224)", showgrid=False, linecolor="#000000", linewidth=2)
内容的提问来源于stack exchange,提问作者Adryan Zeigler
相关产品推荐
相关产品推荐

