class_docstr: <<< Boxplot >>>
  
  A box-plot is a statistical chart used to show a set of data dispersion data.
  It displays the maximum, minimum, median, lower quartile, and upper quartile
  of a set of data.
code: def prepare_data(items):
      data = []
      for item in items:
          if not item:
              data.append([])
          try:
              d, res = sorted(item), []
              for i in range(1, 4):
                  n = i * (len(d) + 1) / 4
                  k = int(n)
                  m = n - k
                  if m == 0:
                      res.append(d[k - 1])
                  elif m == 1 / 4:
                      res.append(d[k - 1] * 0.75 + d[k] * 0.25)
                  elif m == 1 / 2:
                      res.append(d[k - 1] * 0.50 + d[k] * 0.50)
                  elif m == 3 / 4:
                      res.append(d[k - 1] * 0.25 + d[k] * 0.75)
              data.append([d[0]] + res + [d[-1]])
          except TypeError:
              # one of the item element is None
              data.append([])
      return data
  
imports: from ...None import options
  from ...None import types
  from ...charts.chart import RectChart
  from ...globals import ChartType
label_desc: Use image node_id 2 for calling the Boxplot obj's underlying member method code with example usage: obj.prepare_data(items) and returns: data