scipy.stats._result_classes.FitResult.
plot#
- FitResult.plot(ax=None, *, plot_type='hist')[source]#
将数据与拟合分布进行视觉比较。
仅当安装了
matplotlib
时可用。- 参数::
- ax
matplotlib.axes.Axes
要绘制图形的 Axes 对象,否则使用当前 Axes。
- plot_type{“hist”, “qq”, “pp”, “cdf”}
要绘制的图形类型。选项包括
“hist”: 将拟合分布的 PDF/PMF 叠加在数据的归一化直方图上。
“qq”: 理论分位数与经验分位数的散点图。具体来说,x 坐标是拟合分布 PPF 在百分位数
(np.arange(1, n) - 0.5)/n
处的值,其中n
是数据点的数量,y 坐标是排序后的数据点。“pp”: 理论百分位数与观察百分位数的散点图。具体来说,x 坐标是百分位数
(np.arange(1, n) - 0.5)/n
,其中n
是数据点的数量,y 坐标是拟合分布 CDF 在排序后的数据点处的值。“cdf”: 将拟合分布的 CDF 叠加在经验 CDF 上。具体来说,经验 CDF 的 x 坐标是排序后的数据点,y 坐标是百分位数
(np.arange(1, n) - 0.5)/n
,其中n
是数据点的数量。
- ax
- 返回值::
- ax
matplotlib.axes.Axes
绘制图形的 matplotlib Axes 对象。
- ax
示例
>>> import numpy as np >>> from scipy import stats >>> import matplotlib.pyplot as plt # matplotlib must be installed >>> rng = np.random.default_rng() >>> data = stats.nbinom(5, 0.5).rvs(size=1000, random_state=rng) >>> bounds = [(0, 30), (0, 1)] >>> res = stats.fit(stats.nbinom, data, bounds) >>> ax = res.plot() # save matplotlib Axes object
可以使用
matplotlib.axes.Axes
对象自定义图形。有关详细信息,请参阅matplotlib.axes.Axes
文档。>>> ax.set_xlabel('number of trials') # customize axis label >>> ax.get_children()[0].set_linewidth(5) # customize line widths >>> ax.legend() >>> plt.show()