【发布时间】:2017-02-05 07:48:15
【问题描述】:
我正在尝试创建 CDF,但在图表的末尾有一条垂直线,如下所示:
我读到他是因为 matplotlib 使用 bin 的末端来绘制垂直线,这是有道理的,所以我在代码中添加了:
bins = sorted(X) + [np.inf]
其中 X 是我正在使用的数据集,并在绘图时将 bin 大小设置为此:
plt.hist(X, bins = bins, cumulative = True, histtype = 'step', color = 'b')
这确实会删除最后的线并产生所需的效果,但是当我现在规范化此图时会产生错误:
ymin = max(ymin*0.9, minimum) if not input_empty else minimum
UnboundLocalError: local variable 'ymin' referenced before assignment
有没有办法用
规范化数据bins = sorted(X) + [np.inf]
在我的代码中还是有其他方法可以删除图表上的线条?
【问题讨论】:
-
不知道为什么这被否决了。这是 hist + step 如何工作的神器。您最好计算累积直方图,然后使用
ax.step。 -
您想要 CDF 还是直方图?如果是 CDF,是哪一个?
标签: python pandas matplotlib