          for key in sorted(keys):
              title = key.replace("_", " ").title()
              if key.startswith("raw"):
                  raw_lines.append([key, title])
  
          groupsize = self.lines_groupsize(raw_lines, sorted_lines)
          sorted_lines = raw_lines + sorted_lines
          lines = self.lines_style(sorted_lines, groupsize)
          return lines
 
</s> remove             if key.startswith(("avg", "trend")):
                sorted_lines.append([key, title])
            else:
 </s> add             if key.startswith("raw"): </s> remove         else:
            for check in ("avg", "trend"):
                if any(item[0].startswith(check) for item in sorted_lines):
                    groupsize = len([item for item in sorted_lines if item[0].startswith(check)])
                    break
 </s> add         elif sorted_lines:
            keys = [key[0][:key[0].find("_")] for key in sorted_lines]
            distinct_keys = set(keys)
            groupsize = len(keys) // len(distinct_keys)
            else:
                sorted_lines.append([key, title])
          for key in sorted(keys):
              title = key.replace("_", " ").title()
              if key.startswith("raw"):
                  raw_lines.append([key, title])
            else:
                sorted_lines.append([key, title])
  
          groupsize = self.lines_groupsize(raw_lines, sorted_lines)
          sorted_lines = raw_lines + sorted_lines
          lines = self.lines_style(sorted_lines, groupsize)
          return lines
keep keep keep add keep keep keep keep keep
 Graphing Updates

Add smoothing to Analysis and Training Graph
Replace Trend with Smoothing on Training Graph
Add Smoothing Parameter to Training Graph 
lib/gui/display_graph.py