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. - If for some segment all metric values are missing, it isn’t plotted, and the warning is raised. - If some segments have different set of folds with non-missing metrics, it can lead to incompatible values between folds. The warning is raised in such case. - 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_nameisn’t present in- metrics_df
- NotImplementedError: – unknown - per_fold_aggregation_modeis given
 
 - Warning - UserWarning:
- There are segments with all missing metric values. 
- UserWarning:
- Some segments have different set of folds to be aggregated on due to missing values.