code: def ic_figure(
      ic_df: pd.DataFrame, show_nature_day=True, **kwargs
  ) -> go.Figure:
      r"""IC figure
  
      :param ic_df: ic DataFrame
      :param show_nature_day: whether to display the abscissa of non-trading day
      :param \*\*kwargs: contains some parameters to control plot style in plotly. Currently, supports
         - `rangebreaks`: https://plotly.com/python/time-series/#Hiding-Weekends-and-Holidays
      :return: plotly.graph_objs.Figure
      """
      if show_nature_day:
          date_index = pd.date_range(
              ic_df.index.min(), ic_df.index.max()
          )
          ic_df = ic_df.reindex(date_index)
      ic_bar_figure = BarGraph(
          ic_df,
          layout=dict(
              title="Information Coefficient (IC)",
              xaxis=dict(
                  tickangle=45,
                  rangebreaks=kwargs.get(
                      "rangebreaks",
                      guess_plotly_rangebreaks(ic_df.index),
                  ),
              ),
          ),
      ).figure
      return ic_bar_figure
  
file_path: qlib/qlib/contrib/report/analysis_model/analysis_model_performance.py
imports: from functools import partial
  import pandas
  import plotly.graph_objs
  import statsmodels.api
  import matplotlib.pyplot
  from scipy import stats
  from typing import Sequence
  from qlib.typehint import Literal
  from ..graph import ScatterGraph, SubplotsGraph, BarGraph, HeatmapGraph
  from ..utils import guess_plotly_rangebreaks
label_desc: Use image node_id 6 for calling a global function with example usage: ic_figure(ic_df, show_nature_day) and returns: ic_bar_figure