code: def test_estimator_plot_components_from_forecaster():
      """Tests estimator's plot_components function after the Forecaster has set everything up at the top most level"""
      # Test with real data (Female-births) via model template
      dl = DataLoader()
      data_path = dl.get_data_home(data_sub_dir="daily")
      df = dl.get_df(
          data_path=data_path, data_name="daily_female_births"
      )
      metadata = MetadataParam(
          time_col="Date", value_col="Births", freq="D"
      )
      model_components = ModelComponentsParam(
          seasonality={
              "yearly_seasonality": True,
              "quarterly_seasonality": True,
              "weekly_seasonality": True,
              "daily_seasonality": False,
          }
      )
      result = Forecaster().run_forecast_config(
          df=df,
          config=ForecastConfig(
              model_template=ModelTemplateEnum.SILVERKITE.name,
              forecast_horizon=30,  # forecast 1 month
              coverage=0.95,  # 95% prediction intervals
              metadata_param=metadata,
              model_components_param=model_components,
          ),
      )
      estimator = result.model.steps[-1][-1]
      assert estimator.plot_components()
  
imports: import sys
  import warnings
  from enum import Enum
  import numpy
  import pandas
  import pytest
  from testfixtures import LogCapture
  from greykite.common.constants import LOGGER_NAME
  from greykite.common.constants import PREDICTED_LOWER_COL
  from greykite.common.constants import PREDICTED_UPPER_COL
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.data_loader import DataLoader
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.common.python_utils import assert_equal
  from greykite.common.testing_utils import generate_df_for_tests
  from greykite.common.testing_utils import generate_df_with_reg_for_tests
  from greykite.framework.templates.autogen.forecast_config import ComputationParam
  from greykite.framework.templates.autogen.forecast_config import EvaluationMetricParam
  from greykite.framework.templates.autogen.forecast_config import EvaluationPeriodParam
  from greykite.framework.templates.autogen.forecast_config import ForecastConfig
  from greykite.framework.templates.autogen.forecast_config import MetadataParam
  from greykite.framework.templates.autogen.forecast_config import ModelComponentsParam
  from greykite.framework.templates.forecaster import Forecaster
  from greykite.framework.templates.model_templates import ModelTemplate
  from greykite.framework.templates.model_templates import ModelTemplateEnum
  from greykite.framework.templates.prophet_template import ProphetTemplate
  from greykite.framework.templates.silverkite_template import SilverkiteTemplate
  from greykite.framework.templates.simple_silverkite_template import SimpleSilverkiteTemplate
  from greykite.framework.templates.simple_silverkite_template_config import SILVERKITE_COMPONENT_KEYWORDS
  from greykite.framework.templates.simple_silverkite_template_config import SimpleSilverkiteTemplateOptions
  from greykite.framework.utils.framework_testing_utils import assert_basic_pipeline_equal
  from greykite.framework.utils.framework_testing_utils import assert_forecast_pipeline_result_equal
  from greykite.framework.utils.framework_testing_utils import check_forecast_pipeline_result
  from greykite.framework.utils.result_summary import summarize_grid_search_results
label_desc: Use image node_id 10 for calling a global function with example usage: test_estimator_plot_components_from_forecaster() without return types