scipy.stats._result_classes.FitResult.
绘图#
- FitResult.plot(ax=None, *, plot_type='hist')[源代码][源代码]#
直观地比较数据与拟合分布。
仅在安装了
matplotlib
时可用。- 参数:
- ax
matplotlib.axes.Axes
要在其上绘制图形的 Axes 对象,否则使用当前的 Axes。
- plot_type{“直方图”, “QQ图”, “PP图”, “累积分布函数”}
要绘制的图表类型。选项包括:
“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()