Plotly在同一X轴和Y轴上的多个条形图

时间:2019-03-27 07:55:38

标签: python plotly plotly-dash plotly-python

我正在尝试在同一x轴和y轴上绘制多个条形图。我不要堆积或分组的条形图。我只想让多个条形图与长的x轴并排放置,其中x轴的刻度根据条形图的数量而重复,y轴沿条形图共享,并放置在图的最左侧。

这是我的代码,但没有产生我想要的输出

import plotly.offline as pyo
import plotly.graph_objs as go
from plotly import tools



trace1 = go.Bar(
    x=[1, 2, 3],
    y=[10, 11, 12]
)
trace2 = go.Bar(
    x=[1, 2, 3],
    y=[100, 110, 120],
)
trace3 = go.Bar(
    x=[1, 2, 3],
    y=[1000, 1100, 1200],
)


fig = tools.make_subplots(rows=3, cols=1, specs=[[{}], [{}], [{}]],
                          shared_xaxes=True, shared_yaxes=True,
                          vertical_spacing=0.001)


fig.append_trace(trace1, 3, 1)
fig.append_trace(trace2, 2, 1)
fig.append_trace(trace3, 1, 1)

fig['layout'].update(height=600, width=600, title='')

pyo.plot(fig, filename='bar-charts-with-shared-axis.html')

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

如果我正确理解,则需要: Your output

代码:

import plotly.offline as pyo
import plotly.graph_objs as go
from plotly import tools

trace1 = go.Bar(
    x=[1, 2, 3],
    y=[10, 11, 12]
)
trace2 = go.Bar(
    x=[1, 2, 3],
    y=[100, 110, 120],
)
trace3 = go.Bar(
    x=[1, 2, 3],
    y=[1000, 1100, 1200],
)

fig = tools.make_subplots(rows=1, cols=3,
                          shared_xaxes=True, shared_yaxes=True,
                          vertical_spacing=0.001)

fig.append_trace(trace1, 1, 1)
fig.append_trace(trace2, 1, 2)
fig.append_trace(trace3, 1, 3)

fig['layout'].update(height=600, width=600, title='')

pyo.plot(fig, filename='bar-charts-with-shared-axis.html')