plot two band structure for comparison. One is in red the other in blue
        (no difference in spins). The two band structures need to be defined
        on the same symmetry lines! and the distance between symmetry lines is
        the one of the band structure used to build the BSPlotter

        Args:
            another band structure object defined along the same symmetry lines

        Returns:
            a matplotlib object with both band structures

def plot_compare(self, other_plotter, legend=True):
        """
        plot two band structure for comparison. One is in red the other in blue
        (no difference in spins). The two band structures need to be defined
        on the same symmetry lines! and the distance between symmetry lines is
        the one of the band structure used to build the BSPlotter

        Args:
            another band structure object defined along the same symmetry lines

        Returns:
            a matplotlib object with both band structures

        """
        # TODO: add exception if the band structures are not compatible
        import matplotlib.lines as mlines
        plt = self.get_plot()
        data_orig = self.bs_plot_data()
        data = other_plotter.bs_plot_data()
        band_linewidth = 1
        for i in range(other_plotter._nb_bands):
            for d in range(len(data_orig['distances'])):
                plt.plot(data_orig['distances'][d],
                         [e[str(Spin.up)][i] for e in data['energy']][d],
                         'c-', linewidth=band_linewidth)
                if other_plotter._bs.is_spin_polarized:
                    plt.plot(data_orig['distances'][d],
                             [e[str(Spin.down)][i] for e in data['energy']][d],
                             'm--', linewidth=band_linewidth)
        if legend:
            handles = [mlines.Line2D([], [], linewidth=2,
                                     color='b', label='bs 1 up'),
                       mlines.Line2D([], [], linewidth=2,
                                     color='r', label='bs 1 down',
                                     linestyle="--"),
                       mlines.Line2D([], [], linewidth=2,
                                     color='c', label='bs 2 up'),
                       mlines.Line2D([], [], linewidth=2,
                                     color='m', linestyle="--",
                                     label='bs 2 down')]

            plt.legend(handles=handles)
        return plt