code: def mirtrace_length_plot(self):
          
  
          data = dict()
          for s_name in self.length_data:
              try:
                  data[s_name] = {int(d): int(self.length_data[s_name][d]) for d in self.length_data[s_name]}
              except KeyError:
                  pass
          if len(data) == 0:
              log.debug('No valid data for read length distribution')
              return None
  
          config = {
              'id': 'mirtrace_length_plot',
              'title': 'miRTrace: Read Length Distribution',
              'ylab': 'Read Count',
              'xlab': 'Read Lenth (bp)',
              'ymin': 0,
              'xmin': 0,
              'xDecimals': False,
              'tt_label': '<b>Read Length (bp) {point.x}</b>: {point.y} Read Count',
              'xPlotBands': [
                  {'from': 40, 'to': 50, 'color': '#ffebd1'},
                  {'from': 26, 'to': 40, 'color': '#e2f5ff'},
                  {'from': 18, 'to': 26, 'color': '#e5fce0'},
                  {'from': 0, 'to': 18, 'color': '#ffffe2'},
              ]
          }
  
          return linegraph.plot(data, config)
docs: Generate the miRTrace Read Length Distribution