python - 如何控制条形图中条形之间的距离

标签 python python-3.x plotly

我有两个产生相同结果的代码,所以任何一个都可以用来回答。
第一的:

import plotly.graph_objects as go

fig = go.Figure()
fig.add_trace(go.Bar(
    name='Group 1',
    x=['Var 1', 'Var 2', 'Var 3'], y=[3, 6, 4],
    error_y=dict(type='data', array=[1, 0.5, 1.5]),
    width=0.15
))
fig.add_trace(go.Bar(
    name='Group 2',
    x=['Var 1', 'Var 2', 'Var 3'], y=[4, 7, 3],
    error_y=dict(type='data', array=[0.5, 1, 2]),
    width=0.15
))
fig.update_layout(barmode='group')
fig.show()
第二:
import plotly.graph_objects as go

fig = go.Figure(data=[
    go.Bar(
            name='Group 1',
            x=['Var 1', 'Var 2', 'Var 3'], y=[3, 6, 4],
            error_y=dict(type='data', array=[1, 0.5, 1.5]),
            width=0.15),
    go.Bar(
            name='Group 2',
            x=['Var 1', 'Var 2', 'Var 3'], y=[4, 7, 3],
            error_y=dict(type='data', array=[0.5, 1, 2]),
            width=0.15)
])
# Change the bar mode
fig.update_layout(barmode='group')
fig.show()
他们俩看起来像:
enter image description here

问题:如何控制不同组的条形和不同的 Vars 的条形之间的距离?

最佳答案

您需要 2 个属性。它们如下:

  • bargap - 相邻位置坐标条之间的间隙。
  • bargroupgap - 相同位置坐标的条形之间的间隙。

  • 但是这里有一个问题,如果你设置 width那么这两个属性都将被忽略。因此,从代码中删除宽度值并设置上述属性应该可以工作。
    import plotly.graph_objects as go
    
    fig = go.Figure()
    fig.add_trace(go.Bar(
        name='Group 1',
        x=['Var 1', 'Var 2', 'Var 3'], y=[3, 6, 4],
        error_y=dict(type='data', array=[1, 0.5, 1.5])
    ))
    fig.add_trace(go.Bar(
        name='Group 2',
        x=['Var 1', 'Var 2', 'Var 3'], y=[4, 7, 3],
        error_y=dict(type='data', array=[0.5, 1, 2])
    ))
    fig.update_layout(barmode='group', bargap=0.30,bargroupgap=0.0)
    fig.show()
    

    关于python - 如何控制条形图中条形之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62925100/

    相关文章:

    python - 新 SDK Sentry-sdk/sentry-python 中的 SENTRY_USER_ATTRS 相当于什么?

    python-3.x - 使用 sslmode 运行 postgres 连接字符串(用于 SQLAlchemy)时出现 Docker 错误

    python - 如何在分组条形图中为条形着色

    python - 如何在Python中创建一个按钮来保存复选按钮的状态?

    python - 使用 plotly 在 3d 散点图中绘制 3d 框

    python - Python 正态性检验中 p 值的解释

    python - 如何将多个列表映射到一个字典?

    python - PyLint:尝试解包非序列

    python - 根据另一列中的 str 将列中的 int 值相加

    python - 无法通过子进程执行 msg(和其他)Windows 命令