Scipy box cox plot功能不显示情节

时间:2015-12-04 23:55:49

标签: python matplotlib scipy

我运行此代码。

fig = plt.figure(figsize=(12,15))
ax1 = fig.add_subplot(211)

prob = sp.stats.probplot(var, dist=sp.stats.norm, plot=ax1)
ax1.set_xlabel('')
ax1.set_title('Probplot against normal distribution')

它完全正常,我把它作为输出。

enter image description here

但是,当我尝试运行box_cox_normality图时,它没有生成任何图形

fig = plt.figure()
ax = fig.add_subplot(111)
lamdas,ppc=sp.stats.boxcox_normplot(var, -20, 20, plot=ax)

我明白了。

enter image description here

我不确定为什么它不是密谋。我正在使用ipython matplotlib内联,所以不需要做plt.show()

建议请

修改

我不确定问题是否存在于数据中。问题是除非我这样做 plt.plot(arg)明确表示它不是绘图。

这是一个例子。请注意,此变量中没有缺失值,因为已经处理过。

以下是代码:

fig = plt.figure(figsize=(15,8))
ax = fig.add_subplot(111)
lamdas,ppc=sp.stats.boxcox_normplot(var, -20, 20, plot=ax)
#plt.plot(lamdas,ppc)
max_ppc=lamdas[ppc.argsort()[::-1][0]]
ax.axvline(lamdas[ppc.argsort()[::-1][0]],color='b')
y, lmax_mle = sp.stats.boxcox(var)
lmax_pearsonr = sp.stats.boxcox_normmax(var)
ax.axvline(lmax_mle, color='r')
ax.axvline(lmax_pearsonr, color='g', ls='--')
print max_ppc,lmax_mle,lmax_pearsonr

boxcox规范图应该独立工作,因为它需要plot = ax参数。但是它给出了下面的图,它显然没有打印出boxcox图。检查plt.plot()是否已注释掉。

enter image description here

现在我使用plt.plot()语句运行相同的代码取消注释。

enter image description here

如您所见,绘制完整的情节。所以某些地方出了问题,现在它需要明确的plt.plot语句来绘制。 BoxCox正在进行正确的转型。早些时候我没有看到这样的问题

0 个答案:

没有答案