Python 直方图的叠加

Python 直方图的叠加,python,plotly,plotly-python,Python,Plotly,Plotly Python,我有一个数据框,它由天、小时和总点击数组成。我需要绘制一张所有天数的直方图。下面是我的数据帧,即:结果_df day hour total_clicks 0 1 0 1.0 1 1 1 12.0 2 1 2 13.0 3 1 3 1.0 4 1 4 0.0 ... ... ... ... 715 30 19 0.0 716 30 20 0.0 717 30 21 4.0 718 30 22 0.0 719 30

我有一个数据框,它由天、小时和总点击数组成。我需要绘制一张所有天数的直方图。下面是我的数据帧,即:结果_df

    day hour total_clicks
0   1   0   1.0
1   1   1   12.0
2   1   2   13.0
3   1   3   1.0
4   1   4   0.0
... ... ... ...
715 30  19  0.0
716 30  20  0.0
717 30  21  4.0
718 30  22  0.0
719 30  23  5.0
我写了一个for循环,其中给出了单独的图

for i in range(min_day, max_day+1):
    title = 'sep ' + str(i)
    df = result_df[result_df['day']==i]
    fig = px.histogram(df, x="hour", y="total_clicks", marginal="rug",nbins=24,
                   hover_data=df.columns,title=title)
    fig.show()

但是我需要将所有的图表叠加在一个绘图中,这样我们就可以在一个绘图中看到所有天的点击总数。

要查看每天的点击总数,可以使用
color='day'
。这符合你问题的意图吗

import pandas as pd
import numpy  as np

date_rng = pd.date_range('2020-09-01 00:00:00', '2020-09-30 23:00:00', freq='1H')
value = np.random.randint(0,50, size=720)
df = pd.DataFrame({'date':pd.to_datetime(date_rng), 'total_clicks':value})
df['day'] = df['date'].dt.day
df['hour'] = df['date'].dt.hour
result_df = df.copy()
fig = px.histogram(df, x="hour", y="total_clicks", color='day', marginal="rug", nbins=24,
           hover_data=df.columns, title='Sep')
fig.show()