源代码

plot_series

 plot_series (df:Optional[~DFType]=None,
              forecasts_df:Optional[~DFType]=None,
              ids:Optional[List[str]]=None, plot_random:bool=True,
              max_ids:int=8, models:Optional[List[str]]=None,
              level:Optional[List[float]]=None,
              max_insample_length:Optional[int]=None,
              plot_anomalies:bool=False, engine:str='matplotlib',
              palette:Optional[str]=None, id_col:str='unique_id',
              time_col:str='ds', target_col:str='y', seed:int=0,
              resampler_kwargs:Optional[Dict]=None, ax:Union[matplotlib.ax
              es._axes.Axes,numpy.ndarray,ForwardRef('plotly.graph_objects
              .Figure'),NoneType]=None)

绘制预测和样本内值。

类型默认值详情
df可选的None带有 [id_col, time_col, target_col] 列的 DataFrame。
forecasts_df可选的None带有 [id_col, time_col] 列和模型的 DataFrame。
ids可选的None要绘制的时间序列。
如果为 None,则随机选择时间序列。
plot_randomboolTrue随机选择要绘制的时间序列。
max_idsint8要绘制的最大 id 数。
models可选的None要绘制的模型。
level可选的None要绘制的预测区间。
max_insample_length可选的None要绘制的最大训练/样本内观测数。
plot_anomaliesboolFalse绘制每个预测区间的异常值。
enginestrmatplotlib用于绘图的库。‘plotly’、‘plotly-resampler’ 或 ‘matplotlib’。
palette可选的None用于绘图的 matplotlib 颜色图名称。如果为 None,则使用当前样式。
id_colstrunique_id标识每个系列(时间序列)的列。
time_colstrds标识每个时间步长的列,其值可以是时间戳或整数。
target_colstry包含目标值的列。
seedint0随机数生成器使用的种子。仅在 plot_random 为 True 时使用。
resampler_kwargs可选的None传递给 plotly-resampler 构造函数的关键字参数。
如需进一步定制(“show_dash”),请调用该方法,
存储绘图对象并向其添加额外参数到
show_dash 方法。
axUnionNone将添加绘图的对象。
返回matplotlib 或 plotly 图形绘图图形
from utilsforecast.data import generate_series
level = [80, 95]
series = generate_series(4, freq='D', equal_ends=True, with_trend=True, n_models=2, level=level)
test_pd = series.groupby('unique_id', observed=True).tail(10).copy()
train_pd = series.drop(test_pd.index)
plt.style.use('ggplot')
fig = plot_series(
    train_pd,
    forecasts_df=test_pd,
    ids=[0, 3],
    plot_random=False,
    level=level,    
    max_insample_length=50,
    engine='matplotlib',
    plot_anomalies=True,
)
fig.savefig('imgs/plotting.png', bbox_inches='tight')