Improved plot that allows to visualize the Places in the Space
        selectively. It also allows to plot polygons and holes in
        different colors and to change the size and the color of the
        set of points.
        
        The points can be plotted accordingly to a ndarray colormap.
        
        :param places: Indexes of the Places to visualize.
        :type places: int, list or ndarray
        :param c_poly: Polygons color.
        :type c_poly: matplotlib color, 'default' or 't' (transparent)
        :param c_holes: Holes color.
        :type c_holes: matplotlib color, 'default' or 't' (transparent)
        :param c_sop: Set of points color.
        :type c_sop: matplotlib color or colormap
        :param s_sop: Set of points size.
        :type s_sop: float or ndarray
        :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 ax: If a matplotlib axes given, this method will 
            represent the plot on top of this axes. This is used to
            represent multiple plots from multiple geometries, 
            overlapping them recursively.
        :type ax: mplot3d.Axes3D, None
        :returns: None, axes
        :rtype: None, mplot3d.Axes3D

def iplot(self, places=-1, c_poly='default', c_holes='default', 
              c_sop='r', s_sop=25, extra_height=0, ret=False, ax=None):
        """
        Improved plot that allows to visualize the Places in the Space
        selectively. It also allows to plot polygons and holes in
        different colors and to change the size and the color of the
        set of points.
        
        The points can be plotted accordingly to a ndarray colormap.
        
        :param places: Indexes of the Places to visualize.
        :type places: int, list or ndarray
        :param c_poly: Polygons color.
        :type c_poly: matplotlib color, 'default' or 't' (transparent)
        :param c_holes: Holes color.
        :type c_holes: matplotlib color, 'default' or 't' (transparent)
        :param c_sop: Set of points color.
        :type c_sop: matplotlib color or colormap
        :param s_sop: Set of points size.
        :type s_sop: float or ndarray
        :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 ax: If a matplotlib axes given, this method will 
            represent the plot on top of this axes. This is used to
            represent multiple plots from multiple geometries, 
            overlapping them recursively.
        :type ax: mplot3d.Axes3D, None
        :returns: None, axes
        :rtype: None, mplot3d.Axes3D
        """
        if places == -1: 
            places = range(len(self.places))
        elif type(places) == int:
            places = [places]
            
        places = np.array(places)
        places[places<0] = len(self.places) + places[places<0]
        places = np.unique(places)
        
        aux_space = Space([self[i] for i in places])
        for place in aux_space:
            ax = place.iplot(c_poly, c_holes, c_sop, s_sop, extra_height,
                             ret=True, ax=ax)
        aux_space.center_plot(ax)
        if ret: return ax