code: def _makeplot(self, ax, fig, data, ymin=None, ymax=None, height=6,
                    width=6, dos=None, color=None):
          
          # Define colours
          if color is None:
              color = 'C0'  # Default to first colour in matplotlib series
  
          # set x and y limits
          tymax = ymax if (ymax is not None) else max(flatten(data['frequency']))
          tymin = ymin if (ymin is not None) else min(flatten(data['frequency']))
          pad = (tymax - tymin) * 0.05
  
          if ymin is None:
              ymin = 0 if tymin >= self.imag_tol else tymin - pad
          ymax = ymax if ymax else tymax + pad
  
          ax.set_ylim(ymin, ymax)
          ax.set_xlim(0, data['distances'][-1][-1])
  
          if ymin < 0:
              dashline = True
              ax.axhline(0, color=rcParams['grid.color'], linestyle='--',
                         dashes=dashes,
                         zorder=0,
                         linewidth=rcParams['ytick.major.width'])
          else:
              dashline = False
  
          if dos is not None:
              self._plot_phonon_dos(dos, ax=fig.axes[1], color=color,
                                    dashline=dashline)
          else:
  
              # keep correct aspect ratio; match axis to canvas
              x0, x1 = ax.get_xlim()
              y0, y1 = ax.get_ylim()
  
              if width is None:
                  width = rcParams['figure.figsize'][0]
              if height is None:
                  height = rcParams['figure.figsize'][1]
              ax.set_aspect((height/width) * ((x1-x0)/(y1-y0)))
docs: Utility method to tidy phonon band structure diagrams.