code: def scatter_norrec(self, filename=None, individual=False):
          std_diff_labels = {
              'r': 'rdiff',
              'rpha': 'rphadiff',
          }
          diff_labels = std_diff_labels
          labels_to_use = {}
          for key, item in diff_labels.items():
              if key in self.data.columns and item in self.data.columns:
                  labels_to_use[key] = item
          g_freq = self.data.groupby('frequency')
          frequencies = list(sorted(g_freq.groups.keys()))
          if individual:
              figures = {}
              axes_all = {}
          else:
              Nx = len(labels_to_use.keys())
              Ny = len(frequencies)
              fig, axes = plt.subplots(
                  Ny, Nx,
                  figsize=(Nx * 2.5, Ny * 2.5)
              )
          for row, (name, item) in enumerate(g_freq):
              if individual:
                  fig, axes_row = plt.subplots(
                      1, 2, figsize=(16 / 2.54, 6 / 2.54))
              else:
                  axes_row = axes[row, :]
              for col_nr, (key, diff_column) in enumerate(
                      sorted(labels_to_use.items())):
                  indices = np.where(~np.isnan(item[diff_column]))[0]
                  ax = axes_row[col_nr]
                  ax.scatter(
                      item[key],
                      item[diff_column],
                  )
                  ax.set_xlabel(key)
                  ax.set_ylabel(diff_column)
                  ax.set_title('N: {}'.format(len(indices)))
              if individual:
                  fig.tight_layout()
                  figures[name] = fig
                  axes_all[name] = axes_row
          if individual:
              return figures, axes_all
          else:
              fig.tight_layout()
              return fig, axes