在2个不同的绘图数据帧直方图上共享相同的x轴

时间:2019-04-05 14:07:53

标签: python pandas plotly

我想绘制2个不同的熊猫数据帧的两个直方图,使用相同的x轴,使用绘图袖扣(或者,如果不可能,则绘图)

以下代码绘制2个不同的绘制,不共享x轴

 df1.iplot(kind='histogram')
 df2.iplot(kind='histogram')

我希望两个直方图共享相同的x轴

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找这个:

import plotly.offline as py
import plotly.graph_objs as go

import numpy as np

x0 = np.random.randn(500)
x1 = np.random.randn(500)+1

trace1 = go.Histogram(
    x=x0,
    opacity=0.75
)
trace2 = go.Histogram(
    x=x1,
    opacity=0.75
)

data = [trace1, trace2]
layout = go.Layout(barmode='overlay')
fig = go.Figure(data=data, layout=layout)

py.iplot(fig, filename='overlaid histogram')

输出:

histograms

或者您可以使用共享的xaxis创建子图:

from plotly import tools
import plotly.offline as py
import numpy as np
import plotly.graph_objs as go

trace1 = go.Histogram(
    x=np.random.randn(500)
)
trace2 = go.Histogram(
    x=np.random.randn(500)
)

fig = tools.make_subplots(rows=2, cols=1, specs=[[{}], [{}]],
                          shared_xaxes=True, shared_yaxes=False,
                          vertical_spacing=0.001)
fig.append_trace(trace1, 2, 1)
fig.append_trace(trace2, 1, 1)

fig['layout'].update(height=600, width=600, title='Stacked Subplots with Shared X-Axes')
py.iplot(fig, filename='stacked-subplots-shared-xaxes')

输出:

subplots