code: def test_plot(hourly_data):
      df = hourly_data["df"]
      model = ChangepointDetector()
      model.find_trend_changepoints(df=df, time_col="ts", value_col="y")
      # test empty plot
      with pytest.warns(
          UserWarning, match="Figure is empty, at least one component"
      ):
          model.plot(
              observation=False,
              observation_original=False,
              trend_estimate=False,
              trend_change=False,
              yearly_seasonality_estimate=False,
              adaptive_lasso_estimate=False,
          )
      # test plotting change without estimation
      with pytest.warns(
          UserWarning,
          match="You haven't run trend change point detection ",
      ):
          model = ChangepointDetector()
          model.plot(
              observation=False,
              observation_original=False,
              trend_estimate=False,
              trend_change=True,
              yearly_seasonality_estimate=False,
              adaptive_lasso_estimate=False,
          )
      # test plotting seasonality change or estimation without estimation
      with pytest.warns(
          UserWarning,
          match="You haven't run seasonality change point detection",
      ):
          model = ChangepointDetector()
          model.plot(
              observation=False,
              observation_original=False,
              trend_estimate=False,
              trend_change=False,
              yearly_seasonality_estimate=False,
              adaptive_lasso_estimate=False,
              seasonality_change=True,
          )
      with pytest.warns(
          UserWarning,
          match="You haven't run seasonality change point detection",
      ):
          model = ChangepointDetector()
          model.plot(
              observation=False,
              observation_original=False,
              trend_estimate=False,
              trend_change=False,
              yearly_seasonality_estimate=False,
              adaptive_lasso_estimate=False,
              seasonality_estimate=True,
          )
  
imports: from datetime import timedelta
  import numpy
  import pandas
  import pytest
  from pandas.tseries.frequencies import to_offset
  from sklearn.base import RegressorMixin
  from testfixtures import LogCapture
  from greykite.algo.changepoint.adalasso.changepoint_detector import ChangepointDetector
  from greykite.algo.changepoint.adalasso.changepoint_detector import get_changepoints_dict
  from greykite.algo.changepoint.adalasso.changepoint_detector import get_seasonality_changepoints
  from greykite.algo.changepoint.shift_detection.shift_detector import ShiftDetection
  from greykite.common.data_loader import DataLoader
  from greykite.common.logging import LOGGER_NAME
  from greykite.common.testing_utils import generate_df_for_tests
  from greykite.common.testing_utils import generate_df_with_arbitrary_trends_and_shifts
  from greykite.common.testing_utils import generate_test_changepoint_df
label_desc: Use image node_id 6 for calling a global function with example usage: test_plot(hourly_data) without return types