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

ale*_*ice 2 python pandas plotly

我想为 2 个不同的 pandas 数据框绘制两个直方图,共享相同的 x 轴,使用绘图袖扣(或者如果不可能,则仅绘图)

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

 df1.iplot(kind='histogram')
 df2.iplot(kind='histogram')
Run Code Online (Sandbox Code Playgroud)

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

Dmi*_*sil 6

我想你正在寻找这个:

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')
Run Code Online (Sandbox Code Playgroud)

输出:

直方图

或者您可以使用共享 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')
Run Code Online (Sandbox Code Playgroud)

输出:

次要情节