class_docstr: Class for textflint bar chart Report.
  Code from https://github.com/robustness-gym/robustness-gym
class_docstr_tok: ["Class","for","textflint","bar","chart","Report",".","Code","from","https",":","\/\/github.com\/robustness-gym\/robustness-gym"]
docstr: :param pandas.DataFrame data: Pandas dataframe in the following format:
      column 1: category name
      column 2: slice name
      columns 3-N: data corresponding to passed columns parameter
  :param list[ReportColumn] columns: ReportColumn objects specifying
      format of columns 3-N in data
  :param str model_name: model name to show in report
  :param dataset_name: dataset name to show in report
  :param kwargs: any additional config paramters
docstr_tok: [":","param","pandas.DataFrame","data",":","Pandas","dataframe","in","the","following","format",":","column","1",":","category","name","column","2",":","slice","name","columns","3-N",":","data","corresponding","to","passed","columns","parameter",":","param","list","[","ReportColumn","]","columns",":","ReportColumn","objects","specifying","format","of","columns","3-N","in","data",":","param","str","model_name",":","model","name","to","show","in","report",":","param","dataset_name",":","dataset","name","to","show","in","report",":","param","kwargs",":","any","additional","config","paramters"]
code: def __init__(
      self,
      data,
      columns,
      model_name,
      dataset_name,
      **kwargs,
  ):
      """
  
      :param pandas.DataFrame data: Pandas dataframe in the following format:
          column 1: category name
          column 2: slice name
          columns 3-N: data corresponding to passed columns parameter
      :param list[ReportColumn] columns: ReportColumn objects specifying
          format of columns 3-N in data
      :param str model_name: model name to show in report
      :param dataset_name: dataset name to show in report
      :param kwargs: any additional config paramters
      """
  
      # Make a copy of data since may be modified by methods below
      self.data = data.copy()
  
      self.columns = columns
      self.model_name = model_name
      self.dataset_name = dataset_name
  
      self.config = {
          "color_scheme": ["#ec7734", "#3499ec", "#ec34c1", "#9cec34"],
          "score_color_complement": "#F3F4F7",
          "text_fill_color": "#F3F4F7",
          "text_border_color": "#BEC4CE",
          "distribution_color_scale": [
              [0.0, "#FBF5F2"],
              [1.0, "#EC7734"],
          ],
          "col_spacing": 0.035,
          "row_height": 24,
          "category_padding": 60,
          "header_padding": 80,
          "score_col_width": 0.6,
          "numeric_col_width": 0.25,
          "layout_width": 960,
          "font_size_dist": 12,
          "font_size_data": 13,
          "font_size_heading": 14,
          "font_size_category": 14,
      }
  
      self.update_config(**kwargs)
  
imports: from __future__ import annotations
  import itertools
  from functools import partial
  from typing import Dict, List
  import dill
  import numpy
  import plotly.graph_objects
  from plotly.subplots import make_subplots
  import plotly.express
  from ..analyzer.analyzer import *
label_desc: Use image node_id 1 to create a new BarChart object  with example: obj = BarChart(data, columns, model_name, dataset_name)