Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.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 seaborn Dist在每个图形上绘制不同的条形图宽度_Python_Matplotlib_Seaborn - Fatal编程技术网

Python seaborn Dist在每个图形上绘制不同的条形图宽度

Python seaborn Dist在每个图形上绘制不同的条形图宽度,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,很抱歉给你一张图片,但我认为这是最好的方式来显示我的问题 正如你所看到的,所有箱子的宽度都是不同的,据我所知,它显示了租赁时间的范围。我不知道为什么不同的数字有不同的箱子宽度,即使我没有设置任何 我的代码如下所示: figure, axes = plt.subplots(nrows=4, ncols=3) figure.set_size_inches(18,14) plt.subplots_adjust(hspace=0.5) for ax, age_g in zip(axes.ravel()

很抱歉给你一张图片,但我认为这是最好的方式来显示我的问题

正如你所看到的,所有箱子的宽度都是不同的,据我所知,它显示了租赁时间的范围。我不知道为什么不同的数字有不同的箱子宽度,即使我没有设置任何

我的代码如下所示:

figure, axes = plt.subplots(nrows=4, ncols=3)
figure.set_size_inches(18,14)
plt.subplots_adjust(hspace=0.5)

for ax, age_g in zip(axes.ravel(), age_cat):
    group = total_usage_df.loc[(total_usage_df.age_group == age_g) & (total_usage_df.day_of_week <= 4)]
    sns.distplot(group.rent_hour, ax=ax, kde=False)
    ax.set(title=age_g)
    ax.set_xlim([0, 24])

figure.suptitle("Weekday usage pattern", size=25);
补充问题:

因为这里它说kde=False使y轴计数,但是在文档中,它使用kde=False,并且似乎仍然显示其他内容。如何将y轴设置为显示计数

我试过了 sns.distplotgroup.rent\u hour,ax=ax,norm\u hist=True,它似乎仍然给出了其他东西,而不是计数

sns.distplotgroup.rent_hour,ax=ax,kde=False给我计数,但我不知道为什么它给我计数。

答案1:

从:

norm_hist:bool,可选

如果为True,则直方图高度显示密度而不是计数。 如果绘制KDE或拟合密度,则意味着这一点

因此,您还需要考虑箱子的宽度,即计算曲线下的面积,而不仅仅是箱子高度的总和

答复2:

# Plotting hist without kde
ax = sns.distplot(your_data, kde=False)

# Creating another Y axis
second_ax = ax.twinx()

#Plotting kde without hist on the second Y axis
sns.distplot(your_data, ax=second_ax, kde=True, hist=False)

#Removing Y ticks from the second axis
second_ax.set_yticks([])

是的,在我读了文档之后,我尝试了norm_hist,但它仍然给我十进制值,如果是count,它应该是数千。