我该如何对seaborn进行分配以仅包含整数?
我的数据是0到〜18之间的数字数组。我想画出数字的分布。
Impressions
0 210
1 1084
2 2559
3 4378
4 5500
5 5436
6 4525
7 3329
8 2078
9 1166
10 586
11 244
12 105
13 51
14 18
15 5
16 3
dtype: int64
我正在使用的代码:
sns.distplot(Impressions,
# bins=np.arange(Impressions.min(), Impressions.max() + 1),
# kde=False,
axlabel=False,
hist_kws={'edgecolor':'black', 'rwidth': 1})
plt.xticks = range(current.Impressions.min(), current.Impressions.max() + 1, 1)
图看起来像这样:
我期望的是
(x, x + 1)
假定为0,因此为什么会有向下的尖峰(这不是必需的,我可以关闭kde)我不应该对作业或distplot使用正确的工具吗?
答案 0 :(得分:0)
对于您的问题,下面的代码可以解决,
import seaborn as sns # for data visualization
import numpy as np # for numeric computing
import matplotlib.pyplot as plt # for data visualization
arr = np.array([1,2,3,4,5,6,7,8,9])
sns.distplot(arr, bins = arr, kde = False)
plt.xticks(arr)
plt.show()
通过这种方式,您可以使用seaborn sns.distplot()
函数绘制直方图。
注意:无论您将传递到bin和plt.xticks()的任何数据。应该是升序。