class_docstr: Bar graph class
docstr: Draw a bar graph for a serie
code: def bar(self, serie, rescale=False):
      """Draw a bar graph for a serie"""
      serie_node = self.svg.serie(serie)
      bars = self.svg.node(serie_node["plot"], class_="bars")
      if rescale and self.secondary_series:
          points = self._rescale(serie.points)
      else:
          points = serie.points
  
      for i, (x, y) in enumerate(points):
          if None in (x, y) or (self.logarithmic and y <= 0):
              continue
          metadata = serie.metadata.get(i)
          val = self._format(serie, i)
  
          bar = decorate(
              self.svg, self.svg.node(bars, class_="bar"), metadata
          )
  
          x_, y_, width, height = self._bar(
              serie, bar, x, y, i, self.zero, secondary=rescale
          )
  
          self._confidence_interval(
              serie_node["overlay"],
              x_ + width / 2,
              y_,
              serie.values[i],
              metadata,
          )
  
          self._tooltip_and_print_values(
              serie_node,
              serie,
              bar,
              i,
              val,
              metadata,
              x_,
              y_,
              width,
              height,
          )
  
file_path: pygal/pygal/graph/bar.py
imports: from pygal.graph.graph import Graph
  from pygal.util import alter, decorate, ident, swap
label_desc: Use image node_id 3 for calling the Bar obj's underlying member method code with example usage: obj.bar(serie, rescale) without return types