def draw_zijderveld(self):
        """
        Draws the zijderveld plot in the GUI on canvas1
        """
        self.fig1.clf()
        axis_bounds = [0, .1, 1, .85]
        self.zijplot = self.fig1.add_axes(
            axis_bounds, frameon=False, facecolor='None', label='zig_orig', zorder=0)
        self.zijplot.clear()
        self.zijplot.axis('equal')
        self.zijplot.xaxis.set_visible(False)
        self.zijplot.yaxis.set_visible(False)

        self.MS = 6*self.GUI_RESOLUTION
        self.dec_MEC = 'k'
        self.dec_MFC = 'r'
        self.inc_MEC = 'k'
        self.inc_MFC = 'b'
        self.MS = 6*self.GUI_RESOLUTION
        self.zijdblock_steps = self.Data[self.s]['zijdblock_steps']
        self.vds = self.Data[self.s]['vds']

        self.zijplot.plot(self.CART_rot_good[:, 0], -1*self.CART_rot_good[:, 1], 'ro-',
                          markersize=self.MS, clip_on=False, picker=True, zorder=1)  # x,y or N,E
        self.zijplot.plot(self.CART_rot_good[:, 0], -1*self.CART_rot_good[:, 2], 'bs-',
                          markersize=self.MS, clip_on=False, picker=True, zorder=1)  # x-z or N,D

        for i in range(len(self.CART_rot_bad)):
            self.zijplot.plot(self.CART_rot_bad[:, 0][i], -1 * self.CART_rot_bad[:, 1][i], 'o', mfc='None',
                              mec=self.dec_MEC, markersize=self.MS, clip_on=False, picker=False)  # x,y or N,E
            self.zijplot.plot(self.CART_rot_bad[:, 0][i], -1 * self.CART_rot_bad[:, 2][i], 's', mfc='None',
                              mec=self.inc_MEC, markersize=self.MS, clip_on=False, picker=False)  # x-z or N,D

        if self.preferences['show_Zij_treatments']:
            for i in range(len(self.zijdblock_steps)):
                if int(self.preferences['show_Zij_treatments_steps']) != 1:
                    if i != 0 and (i+1) % int(self.preferences['show_Zij_treatments_steps']) == 0:
                        self.zijplot.text(self.CART_rot[i][0], -1*self.CART_rot[i][2], "  %s" % (
                            self.zijdblock_steps[i]), fontsize=8*self.GUI_RESOLUTION, color='gray', ha='left', va='center')  # inc
                else:
                    self.zijplot.text(self.CART_rot[i][0], -1*self.CART_rot[i][2], "  %s" % (
                        self.zijdblock_steps[i]), fontsize=10*self.GUI_RESOLUTION, color='gray', ha='left', va='center')  # inc

        # -----

        xmin, xmax = self.zijplot.get_xlim()
        if xmax < 0:
            xmax = 0
        if xmin > 0:
            xmin = 0
        # else:
        #    xmin=xmin+xmin%0.2

        props = dict(color='black', linewidth=1.0, markeredgewidth=0.5)

        xlocs = array(list(arange(0.2, xmax, 0.2)) +
                      list(arange(-0.2, xmin, -0.2)))
        if len(xlocs) > 0:
            xtickline, = self.zijplot.plot(
                xlocs, [0]*len(xlocs), linestyle='', marker='+', **props)
            xtickline.set_clip_on(False)

        axxline, = self.zijplot.plot([xmin, xmax], [0, 0], **props)
        axxline.set_clip_on(False)

        TEXT = ""
        if self.COORDINATE_SYSTEM == 'specimen':
            self.zijplot.text(xmax, 0, ' x', fontsize=10,
                              verticalalignment='bottom')
        else:
            if self.ORTHO_PLOT_TYPE == 'N-S':
                TEXT = " N"
            elif self.ORTHO_PLOT_TYPE == 'E-W':
                TEXT = " E"
            else:
                TEXT = " x"
            self.zijplot.text(xmax, 0, TEXT, fontsize=10,
                              verticalalignment='bottom')

        # -----

        ymin, ymax = self.zijplot.get_ylim()
        if ymax < 0:
            ymax = 0
        if ymin > 0:
            ymin = 0

        ylocs = array(list(arange(0.2, ymax, 0.2)) +
                      list(arange(-0.2, ymin, -0.2)))
        if len(ylocs) > 0:
            ytickline, = self.zijplot.plot(
                [0]*len(ylocs), ylocs, linestyle='', marker='+', **props)
            ytickline.set_clip_on(False)

        axyline, = self.zijplot.plot([0, 0], [ymin, ymax], **props)
        axyline.set_clip_on(False)

        TEXT1, TEXT2 = "", ""
        if self.COORDINATE_SYSTEM == 'specimen':
            TEXT1, TEXT2 = " y", "      z"
        else:
            if self.ORTHO_PLOT_TYPE == 'N-S':
                TEXT1, TEXT2 = " E", "     D"
            elif self.ORTHO_PLOT_TYPE == 'E-W':
                TEXT1, TEXT2 = " S", "     D"
            else:
                TEXT1, TEXT2 = " y", "      z"
        self.zijplot.text(0, ymin, TEXT1, fontsize=10,
                          color='r', verticalalignment='top')
        self.zijplot.text(0, ymin, '    ,', fontsize=10,
                          color='k', verticalalignment='top')
        self.zijplot.text(0, ymin, TEXT2, fontsize=10,
                          color='b', verticalalignment='top')

        # ----

        if self.ORTHO_PLOT_TYPE == 'N-S':
            STRING = ""
            #STRING1="N-S orthogonal plot"
            self.fig1.text(0.01, 0.98, "Zijderveld plot: x = North", {
                           'family': self.font_type, 'fontsize': 10*self.GUI_RESOLUTION, 'style': 'normal', 'va': 'center', 'ha': 'left'})
        elif self.ORTHO_PLOT_TYPE == 'E-W':
            STRING = ""
            #STRING1="E-W orthogonal plot"
            self.fig1.text(0.01, 0.98, "Zijderveld plot:: x = East", {
                           'family': self.font_type, 'fontsize': 10*self.GUI_RESOLUTION, 'style': 'normal', 'va': 'center', 'ha': 'left'})

        elif self.ORTHO_PLOT_TYPE == 'PCA_dec':
            self.fig1.text(0.01, 0.98, "Zijderveld plot", {
                           'family': self.font_type, 'fontsize': 10*self.GUI_RESOLUTION, 'style': 'normal', 'va': 'center', 'ha': 'left'})
            if 'specimen_dec' in list(self.current_fit.pars.keys()) and type(self.current_fit.pars['specimen_dec']) != str:
                STRING = "X-axis rotated to best fit line declination (%.0f); " % (
                    self.current_fit.pars['specimen_dec'])
            else:
                STRING = "X-axis rotated to NRM (%.0f); " % (
                    self.zijblock[0][1])
        else:
            self.fig1.text(0.01, 0.98, "Zijderveld plot", {
                           'family': self.font_type, 'fontsize': 10*self.GUI_RESOLUTION, 'style': 'normal', 'va': 'center', 'ha': 'left'})
            STRING = "X-axis rotated to NRM (%.0f); " % (self.zijblock[0][1])
            #STRING1="Zijderveld plot"

        STRING = STRING+"NRM=%.2e " % (self.zijblock[0][3]) + 'Am^2'
        self.fig1.text(0.01, 0.95, STRING, {'family': self.font_type, 'fontsize': 8 *
                                            self.GUI_RESOLUTION, 'style': 'normal', 'va': 'center', 'ha': 'left'})

        xmin, xmax = self.zijplot.get_xlim()
        ymin, ymax = self.zijplot.get_ylim()

        self.zij_xlim_initial = (xmin, xmax)
        self.zij_ylim_initial = (ymin, ymax)

        self.canvas1.draw()