我的数据集是这样的
Days Visitors
Tuesday 23
Monday 30
Sunday 120
Friday 2
Friday 30
Tuesday 13
Monday 20
Saturday 100
如何为该数据集绘制直方图,但将其假设为一个大型数据集(560030 行),而不仅仅是这些值。
实际上我想在 x 轴上有天数,在 Y 轴上有访客。
答案 0 :(得分:0)
seaborn
,这是 matplotlib 的 API。
sns.histplot
import seaborn as sns
import pandas as pd
import numpy as np # for test data
import random # for test data
import calendar # for test data
# test dataframe
np.random.seed(365)
random.seed(365)
df = pd.DataFrame({'Days': random.choices(calendar.day_name, k=1000), 'Visitors': np.random.randint(1, 121, size=(1000))})
# display(df.head(6))
Days Visitors
0 Friday 83
1 Sunday 53
2 Saturday 34
3 Wednesday 92
4 Tuesday 45
5 Wednesday 6
# plot the histogram
sns.histplot(data=df, x='Visitors', hue='Days', multiple="stack")
sns.distplot
sns.displot(data=df, col='Days', col_wrap=4, x='Visitors')
seaborn.barplot
sns.barplot(data=df, x='Days', y='Visitors', estimator=sum, ci=None)
plt.xticks(rotation=90)
答案 1 :(得分:-1)
您可以使用 matplotlib
。
import matplotlib.pyplot as plt
tuesday = 23
monday = 30
sunday = 120
friday = 20
x = []
x.append(['Tuesday'] * tuesday)
x.append(['Monday'] * monday)
x.append(['Saturday'] * sunday)
x.append(['Friday'] * friday)
plt.hist(x)
plt.ylabel('Visitors')
plt.xlabel('Days')
plt.show()