Seaborn distplot 不支持范围吗?
Does Seaborn distplot not support a range?
我有一个名为 data1 的数据数组,其中包含从 0 到超过一千的值。我只想有一个直方图和一个从 0 到 10 的值的 KDE。因此我写道:
sns.distplot(data1, kde=True, hist=True, hist_kws={"range": [0,10]})
plt.show()
然而,我得到的是所有值的直方图(一直到 2000 年代)。
您可以只过滤您的数据并对过滤后的数据调用 displot
:
filtered = data1[(data1 >= 0) & (data1 < 10)]
sns.distplot(filtered, kde=True, hist=True, hist_kws={"range": [0,10]})
plt.show()
假设 data1
是一个 numpy 数组。
确实如此,只需在声明绘图后将 plt.xlim(x,x1) 放在一行中,生成的绘图将只有 x 和 x1 之间的 x 值。您可以使用 ylim 对 y 轴执行相同的操作。
如果您希望仅针对 [0,10] 中的值计算 KDE 和直方图,您可以使用参数 kde_kws={"clip":(0,10)}, hist_kws={"range":(0,10)}
:
sns.distplot(data1, kde=True, hist=True, kde_kws={"clip":(0,10)}, hist_kws={"range":(0,10)})
plt.show()
您可以为 Axes
对象设置范围 sns
returns。
ax = sns.distplot(data1, kde=True, hist=True, hist_kws={"range": [0,10]})
ax.set_xlim(0, 10)
在现代 seaborn 中使用 histplot
的选项 binrange
(注意 distplot
已贬值)。
binrange: pair of numbers or a pair of pairs
Lowest and highest value for bin edges;
can be used either with bins or binwidth. Defaults to data extremes.
我有一个名为 data1 的数据数组,其中包含从 0 到超过一千的值。我只想有一个直方图和一个从 0 到 10 的值的 KDE。因此我写道:
sns.distplot(data1, kde=True, hist=True, hist_kws={"range": [0,10]})
plt.show()
然而,我得到的是所有值的直方图(一直到 2000 年代)。
您可以只过滤您的数据并对过滤后的数据调用 displot
:
filtered = data1[(data1 >= 0) & (data1 < 10)]
sns.distplot(filtered, kde=True, hist=True, hist_kws={"range": [0,10]})
plt.show()
假设 data1
是一个 numpy 数组。
确实如此,只需在声明绘图后将 plt.xlim(x,x1) 放在一行中,生成的绘图将只有 x 和 x1 之间的 x 值。您可以使用 ylim 对 y 轴执行相同的操作。
如果您希望仅针对 [0,10] 中的值计算 KDE 和直方图,您可以使用参数 kde_kws={"clip":(0,10)}, hist_kws={"range":(0,10)}
:
sns.distplot(data1, kde=True, hist=True, kde_kws={"clip":(0,10)}, hist_kws={"range":(0,10)})
plt.show()
您可以为 Axes
对象设置范围 sns
returns。
ax = sns.distplot(data1, kde=True, hist=True, hist_kws={"range": [0,10]})
ax.set_xlim(0, 10)
在现代 seaborn 中使用 histplot
的选项 binrange
(注意 distplot
已贬值)。
binrange: pair of numbers or a pair of pairs
Lowest and highest value for bin edges;
can be used either with bins or binwidth. Defaults to data extremes.