docs: def plot_high_level_equalarea(self, element):
          """
          Given a GUI element such as a sample or specimen tries to plot to
          high level mean plot
          """
          if self.ie_open:
              high_level = self.ie.show_box.GetValue()
          else:
              high_level = self.UPPER_LEVEL_SHOW
          fits = []
          if high_level not in self.pmag_results_data:
              print(("no level: " + str(high_level)))
              return
          if element not in self.pmag_results_data[high_level]:
              print(("no element: " + str(element)))
              return
          if self.mean_fit == 'All':
              fits = self.pmag_results_data[high_level][element]
          elif self.mean_fit != 'None' and self.mean_fit != None:
              fits = [fit for fit in self.pmag_results_data[high_level]
                      [element] if fit.name == self.mean_fit]
          else:
              fits = []
          fig = self.high_level_eqarea
          if fits:
              for fit in fits:
                  pars = fit.get(self.COORDINATE_SYSTEM)
                  if not pars:
                      if element in self.specimens:
                          fit.put(element, self.COORDINATE_SYSTEM, self.get_PCA_parameters(
                              element, fit, fit.tmin, fit.tmax, self.COORDINATE_SYSTEM, self.PCA_type_box.GetValue()))
                      pars = fit.get(self.COORDINATE_SYSTEM)
                      if not pars:
                          print(("No data for %s on element %s" %
                                 (fit.name, element)))
                          return
                  if "specimen_dec" in list(pars.keys()) and "specimen_inc" in list(pars.keys()):
                      dec = pars["specimen_dec"]
                      inc = pars["specimen_inc"]
                  elif "dec" in list(pars.keys()) and "inc" in list(pars.keys()):
                      dec = pars["dec"]
                      inc = pars["inc"]
                  else:
                      print(("-E- no dec and inc values for:\n" + str(fit)))
                  XY = pmag.dimap(dec, inc)
                  if inc > 0:
                      FC = fit.color
                      SIZE = 15*self.GUI_RESOLUTION
                  else:
                      FC = 'white'
                      SIZE = 15*self.GUI_RESOLUTION
                  marker_shape = 'o'
                  if pars['calculation_type'] == "DE-BFP":
                      marker_shape = 's'
                      if 'bfv' in self.plane_display_box.GetValue():
                          marker_shape = '>'
                          SIZE = 25*self.GUI_RESOLUTION
                  if fit == self.current_fit:
                      marker_shape = 'D'
                  if fit in self.bad_fits:
                      marker_shape = (4, 1, 0)
                      SIZE = 25*self.GUI_RESOLUTION
  
                  # draw a best-fit plane
                  if pars['calculation_type'] == 'DE-BFP' and \
                     self.plane_display_box.GetValue() != "poles":
  
                      if "plane" in self.plane_display_box.GetValue() or "hemisphere" in self.plane_display_box.GetValue() or "wp" in self.plane_display_box.GetValue():
  
                          ymin, ymax = self.specimen_eqarea.get_ylim()
                          xmin, xmax = self.specimen_eqarea.get_xlim()
  
                          D_c, I_c = pmag.circ(
                              pars["specimen_dec"], pars["specimen_inc"], 90)
                          X_c_up, Y_c_up = [], []
                          X_c_d, Y_c_d = [], []
                          for k in range(len(D_c)):
                              XY = pmag.dimap(D_c[k], I_c[k])
                              if I_c[k] < 0:
                                  X_c_up.append(XY[0])
                                  Y_c_up.append(XY[1])
                              if I_c[k] > 0:
                                  X_c_d.append(XY[0])
                                  Y_c_d.append(XY[1])
  
                          if self.plane_display_box.GetValue() == "u. hemisphere" or \
                             self.plane_display_box.GetValue() == "whole plane" or \
                             self.plane_display_box.GetValue() == "wp + bfv":
                              fig.plot(X_c_d, Y_c_d, 'b')
                              if self.ie_open:
                                  self.ie.plot(X_c_d, Y_c_d, 'b')
                          if self.plane_display_box.GetValue() == "l. hemisphere" or \
                             self.plane_display_box.GetValue() == "whole plane" or \
                             self.plane_display_box.GetValue() == "wp + bfv":
                              fig.plot(X_c_up, Y_c_up, 'c')
                              if self.ie_open:
                                  self.ie.plot(X_c_up, Y_c_up, 'c')
  
                      if "bfv" in self.plane_display_box.GetValue():
                          if 'bfv_dec' not in list(pars.keys()) or 'bfv_inc' not in list(pars.keys()):
                              self.calculate_best_fit_vectors()
                              pars = fit.get(self.COORDINATE_SYSTEM)
                          try:
                              XY = pmag.dimap(pars['bfv_dec'], pars['bfv_inc'])
                          except KeyError:
                              print(("specimen %s fit %s is marked bad or there was an error calculating bfv pole will be displayed instead" % (
                                  element, fit.name)))
  #                            self.user_warning("There was an error calculating bfv for %s of %s, please raise an issue on github and/or contact a dev about this problem and restart the GUI"%(fit.name,element))
                          if inc > 0:
                              FC = fit.color
                          else:
                              FC = 'white'
  
                  self.high_EA_xdata.append(XY[0])
                  self.high_EA_ydata.append(XY[1])
                  fig.scatter([XY[0]], [XY[1]], marker=marker_shape,
                              edgecolor=fit.color, facecolor=FC, s=SIZE, lw=1, clip_on=False)
                  if self.ie_open:
                      self.ie.scatter([XY[0]], [XY[1]], marker=marker_shape,
                                      edgecolor=fit.color, facecolor=FC, s=SIZE, lw=1, clip_on=False)