etna.analysis.plot_metric_per_segment#

plot_metric_per_segment(metrics_df: DataFrame, metric_name: str, ascending: bool = False, per_fold_aggregation_mode: str = 'mean', top_k: int | None = None, barplot_params: Dict[str, Any] | None = None, figsize: Tuple[int, int] = (10, 5))[source]#

Plot barplot with per-segment metrics.

Parameters:
  • metrics_df (DataFrame) – dataframe with metrics calculated on the backtest

  • metric_name (str) – name of the metric to visualize

  • ascending (bool) –

    • If True, small values at the top;

    • If False, big values at the top.

  • per_fold_aggregation_mode (str) – how to aggregate metrics over the folds if they aren’t already aggregated (see PerFoldAggregation)

  • top_k (int | None) – number segments to show after ordering according to ascending

  • barplot_params (Dict[str, Any] | None) – dictionary with parameters for plotting, seaborn.barplot() is used

  • figsize (Tuple[int, int]) – size of the figure per subplot with one segment in inches

Raises:
  • ValueError: – if metric_name isn’t present in metrics_df

  • NotImplementedError: – unknown per_fold_aggregation_mode is given