statsmodels.graphics.functional.rainbowplot¶
-
statsmodels.graphics.functional.rainbowplot(data, xdata=
None, depth=None, method='MBD', ax=None, cmap=None)[source]¶ 为一组曲线创建一个彩虹图。
彩虹图包含数据集中所有曲线的线图,按功能深度顺序着色。中位曲线以黑色显示。
- Parameters:¶
- datasequence
ofndarraysor 2-Dndarray 用于创建功能箱线图的函数向量。如果是一个1-D数组的序列,这些数组的大小应该相同。第一个轴是函数索引,第二个轴是函数定义的轴。因此
data[0, :]是第一个功能曲线。- xdata
ndarray,optional 数据的独立变量。如果没有给出,则假设为整数数组 0..N-1,其中 N 是 data 中向量的长度。
- depth
ndarray,optional 一个表示数据的带深度的一维数组,或等效的顺序统计量。 如果没有给出,它将通过banddepth计算。
- method{‘MBD’, ‘BD2’},
optional 用于计算波段深度的方法。默认是‘MBD’。
- ax
AxesSubplot,optional 如果指定,此子图将用于绘图,而不是创建新图形。
- cmap
MatplotlibLinearSegmentedColormapinstance,optional 用于为曲线着色的颜色映射。默认使用彩虹颜色映射,其中红色用于最中心的曲线,紫色用于最不中心的曲线。
- datasequence
- Returns:¶
Figure如果 ax 为 None,则创建图形。否则为 ax 连接的图形。
参考文献
- [1] R.J. Hyndman and H.L. Shang, “Rainbow Plots, Bagplots, and Boxplots for
功能数据”,第19卷,第29-25页,2010年。
示例
加载厄尔尼诺数据集。包含60年太平洋海洋海面温度数据。
>>> import matplotlib.pyplot as plt >>> import statsmodels.api as sm >>> data = sm.datasets.elnino.load()创建一个彩虹图:
>>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> res = sm.graphics.rainbowplot(data.raw_data[:, 1:], ax=ax)>>> ax.set_xlabel("Month of the year") >>> ax.set_ylabel("Sea surface temperature (C)") >>> ax.set_xticks(np.arange(13, step=3) - 1) >>> ax.set_xticklabels(["", "Mar", "Jun", "Sep", "Dec"]) >>> ax.set_xlim([-0.2, 11.2]) >>> plt.show()
Last update:
Oct 16, 2024