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)