我有两个能产生相同结果的代码,所以任何一个都可以用作答案。
第一:
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()
问题:如何控制不同组的条和不同Var的条之间的距离?
答案 0 :(得分:2)
您需要2个属性。它们如下:
但是这里有一个陷阱,如果您设置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()