Generates a 2D plot for the z=0 Surface projection.
        
        :param c_poly: Polygons color.
        :type c_poly: matplotlib color
        :param alpha: Opacity.
        :type alpha: float
        :param cmap: colormap
        :type cmap: matplotlib.cm
        :param ret: If True, returns the figure. It can be used to add 
            more elements to the plot or to modify it.
        :type ret: bool
        :param title: Figure title.
        :type title: str
        :param colorbar: If True, inserts a colorbar in the figure.
        :type colorbar: bool
        :param cbar_label: Colorbar right label.
        :type cbar_label: str
        :returns: None, axes
        :rtype: None, matplotlib axes

def plot2d(self, c_poly='default', alpha=1, cmap='default', ret=False, 
               title=' ', colorbar=False, cbar_label=''):
        """
        Generates a 2D plot for the z=0 Surface projection.
        
        :param c_poly: Polygons color.
        :type c_poly: matplotlib color
        :param alpha: Opacity.
        :type alpha: float
        :param cmap: colormap
        :type cmap: matplotlib.cm
        :param ret: If True, returns the figure. It can be used to add 
            more elements to the plot or to modify it.
        :type ret: bool
        :param title: Figure title.
        :type title: str
        :param colorbar: If True, inserts a colorbar in the figure.
        :type colorbar: bool
        :param cbar_label: Colorbar right label.
        :type cbar_label: str
        :returns: None, axes
        :rtype: None, matplotlib axes
        """
        import matplotlib.pyplot as plt
        import matplotlib.patches as patches
        import matplotlib.cm as cm
        
        paths = [polygon.get_path() for polygon in self]
        domain = self.get_domain()[:, :2]

        # Color
        if type(c_poly) == str: # Unicolor
            if c_poly is 'default': c_poly = 'b'
            color_vector = c_poly*len(paths)
            colorbar = False
        else:                  # Colormap
            if cmap is 'default':
                cmap = cm.YlOrRd
            import matplotlib.colors as mcolors
            normalize = mcolors.Normalize(vmin=c_poly.min(), vmax=c_poly.max())
            color_vector = cmap(normalize(c_poly))

        # Plot
        fig = plt.figure(title)
        ax = fig.add_subplot(111)
        for p, c in zip(paths, color_vector):
            ax.add_patch(patches.PathPatch(p, facecolor=c, lw=1, 
                                           edgecolor='k', alpha=alpha))
        ax.set_xlim(domain[0,0],domain[1,0])
        ax.set_ylim(domain[0,1], domain[1,1])
        
        # Colorbar
        if colorbar:
            scalarmappaple = cm.ScalarMappable(norm=normalize, cmap=cmap)
            scalarmappaple.set_array(c_poly)
            cbar = plt.colorbar(scalarmappaple, shrink=0.8, aspect=10)
            cbar.ax.set_ylabel(cbar_label, rotation=0)

        if ret: return ax