如何显示绘图中零值的条形图?

Mis*_*tro 6 python bar-chart plotly plotly-dash plotly-python

当 y 的值之一为零时,如何使条形出现?默认情况下它只是留下一个间隙。有没有办法让它绘制零值?如果只是使用 绘制,我可以在 x 轴上看到一条y=0相同的线go.Box。我也希望在条形图中看到这一点。到目前为止,我将基数设置为零。但这也不适用于 y=0。这是我的示例代码。我的实际代码包含多个跟踪,这就是为什么我想查看 y=0 的图这是示例 python 代码:

 import plotly.graph_objects as go
 fig = go.Figure()
 fig.add_trace(go.Bar(x=[1, 2, 3], y=[0, 3, 2]))
 fig.show()
Run Code Online (Sandbox Code Playgroud)

ves*_*and 6

条形图的条形周围有一条线,默认设置为与背景颜色相同。就你而言'#E5ECF6'。如果您更改它,该线将显示为每个条形周围的边框,即使对于y = 0任何给定的x.

fig.update_traces(marker_line_color = 'blue', marker_line_width = 12)
Run Code Online (Sandbox Code Playgroud)

如果您将线条颜色设置为与条形本身相匹配,您将得到以下结果:

图 1:具有相同填充颜色和线条颜色的条形

在此输入图像描述

如果我理解正确,这应该非常接近您想要实现的目标。至少在视觉上是这样。我也许会考虑调整一下,yaxis range使其更清楚地显示显示的 y 值实际上是0

图 2:调整后的 y 轴和单独的颜色

在此输入图像描述

图 1 的完整代码:

import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Bar(x=[1, 2, 3], y=[0, 3, 2], marker_color = 'blue'))
fig.update_traces(marker_line_color = 'blue', marker_line_width = 12)
fig.show()
Run Code Online (Sandbox Code Playgroud)

图 2 的完整代码:

import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Bar(x=[1, 2, 3], y=[0, 3, 2], marker_color =  '#00CC96'))
f = fig.full_figure_for_development(warn=False)
fig.update_traces(marker_line_color = '#636EFA', marker_line_width = 4)

fig.update_yaxes(range=[-1, 4])
fig.show()
Run Code Online (Sandbox Code Playgroud)

评论后编辑

只是为了使用plotly版本验证线条颜色与背景颜色相同5.4.0

地块 1:

在此输入图像描述

图 2:放大

在此输入图像描述