直方图的堆叠 plotly 表达
Stacking of histograms plotly express
我有一个由天、小时和 total_clicks 组成的数据框。我需要为所有堆叠在一起的日子绘制直方图。以下是我的数据框,即; result_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()
我有一个由天、小时和 total_clicks 组成的数据框。我需要为所有堆叠在一起的日子绘制直方图。以下是我的数据框,即; result_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()