docs: def _build_graph(self):
          '''Build Rickshaw graph syntax with all data'''
  
          # Set palette colors if necessary
          if not self.colors:
              self.palette = self.env.get_template('palette.js')
              self.template_vars.update({'palette': self.palette.render()})
              self.colors = {x['name']: 'palette.color()' for x in self.json_data}
  
          template_vars = []
          for index, dataset in enumerate(self.json_data):
              group = 'datagroup' + str(index)
              template_vars.append({'name': str(dataset['name']),
                                    'color': self.colors[dataset['name']],
                                    'data': 'json[{0}].data'.format(index)})
  
          variables = {'dataset': template_vars, 'width': self.width,
                       'height': self.height, 'render': self.renderer,
                       'chart_id': self.chart_id}
          if not self.y_zero:
              variables.update({'min': "min: 'auto',"})
  
          graph = self.env.get_template('graph.js')
          self.template_vars.update({'graph': graph.render(variables)})