boxcox_normplot#
- scipy.stats.boxcox_normplot(x, la, lb, plot=None, N=80)[source]#
- Compute parameters for a Box-Cox normality plot, optionally show it. - A Box-Cox normality plot shows graphically what the best transformation parameter is to use in - boxcoxto obtain a distribution that is close to normal.- Parameters:
- xarray_like
- Input array. 
- la, lbscalar
- The lower and upper bounds for the - lmbdavalues to pass to- boxcoxfor Box-Cox transformations. These are also the limits of the horizontal axis of the plot if that is generated.
- plotobject, optional
- If given, plots the quantiles and least squares fit. plot is an object that has to have methods “plot” and “text”. The - matplotlib.pyplotmodule or a Matplotlib Axes object can be used, or a custom object with the same methods. Default is None, which means that no plot is created.
- Nint, optional
- Number of points on the horizontal axis (equally distributed from la to lb). 
 
- Returns:
- lmbdasndarray
- The - lmbdavalues for which a Box-Cox transform was done.
- ppccndarray
- Probability Plot Correlation Coefficient, as obtained from - probplotwhen fitting the Box-Cox transformed input x against a normal distribution.
 
 - See also - Notes - Even if plot is given, the figure is not shown or saved by - boxcox_normplot;- plt.show()or- plt.savefig('figname.png')should be used after calling- probplot.- Examples - >>> from scipy import stats >>> import matplotlib.pyplot as plt - Generate some non-normally distributed data, and create a Box-Cox plot: - >>> x = stats.loggamma.rvs(5, size=500) + 5 >>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> prob = stats.boxcox_normplot(x, -20, 20, plot=ax) - Determine and plot the optimal - lmbdato transform- xand plot it in the same plot:- >>> _, maxlog = stats.boxcox(x) >>> ax.axvline(maxlog, color='r') - >>> plt.show() 