Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用两个不同的列绘制直方图_Python_Pandas_Matplotlib_Seaborn - Fatal编程技术网

Python 用两个不同的列绘制直方图

Python 用两个不同的列绘制直方图,python,pandas,matplotlib,seaborn,Python,Pandas,Matplotlib,Seaborn,我的数据集是这样的 Days Visitors Tuesday 23 Monday 30 Sunday 120 Friday 2 Friday 30 Tuesday 13 Monday 20 Saturday 100 如何绘制此数据集的直方图,但假设它是一个大数据集(560030行),而不仅仅是这些值 事实上,我想在x轴上度过几天,在Y轴上度过访客。 使用seaborn,这是matplotlib的API。 这将显示一周中每天的

我的数据集是这样的

 Days     Visitors

Tuesday    23
Monday     30
Sunday    120
Friday     2
Friday    30
Tuesday   13
Monday    20
Saturday  100
如何绘制此数据集的直方图,但假设它是一个大数据集(560030行),而不仅仅是这些值

事实上,我想在x轴上度过几天,在Y轴上度过访客。

  • 使用
    seaborn
    ,这是matplotlib的API。
  • 这将显示一周中每天的访客数量分布
sns.histplot
导入seaborn作为sns
作为pd进口熊猫
将numpy导入为测试数据的np#
为测试数据导入随机#
为测试数据导入日历#
#测试数据帧
np.random.seed(365)
随机种子(365)
df=pd.DataFrame({'Days':random.choices(calendar.day_name,k=1000),'Visitors':np.random.randint(1121,size=(1000)))
#显示器(测向头(6))
日访客
0星期五83
1星期日53
2星期六34
3星期三92
4星期二45
5星期三6
#绘制直方图
sns.histplot(data=df,x='Visitors',hue='Days',multiple=“stack”)

  • 绘制直方图后,如果需要移动图例,可能需要使用中的解决方法
sns.distplot
  • 此选项最清楚地传达了访客数量的每日分布
sns.displaot(数据=df,col='Days',col_wrap=4,x='Visitors')

条形图
  • 这将显示给定日期的所有访问的总和
sns.barplot(数据=df,x='Days',y='Visitors',估计器=sum,ci=None)
plt.xticks(旋转=90)

您可以使用
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()

您的数据与OP中显示的数据不同。您的数据有天数,并将其绘制为直方图。OP的数据显示了一周中某一天的访客数量(例如,一个星期五有2名访客,而另一个星期五有30名访客)。没错,我的只是一个答案的概要。如果目标是按要求绘制柱状图,我的回答给出了​​如何做到这一点。这并不能回答人们提出的问题。OP特别询问如何绘制问题中数据的柱状图。