Plots the exposure of the sensible points in a space to the data
        and the Sun positions. It is required to previously compute the 
        shadowing.
        
        If the computation has been made with a data timeseries, the plot
        will have a colorbar. Units are accumulated kilounits*hour (for 
        the series), that is, if the input data is in Watts 
        (irradiation) for a whole year, the output will be 
        kWh received in an entire year.
        
        If there is no data inputed, the plot will show only the number
        of times each point "has been seen by the Sun" along the series.
        
        :param places: Indexes of the places to plot. If -1, plots all.
        :type places: int or list
        :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 s_sop: Set of points size.
        :type s_sop: float or ndarray
        :param extra_height: Extra elevation for the points in the plot.
        :type extra_height: float
        :returns: None

def exposure_plot(self, places=-1, c_poly='default', c_holes='default',
                      s_sop=25, extra_height=0.1):
        """
        Plots the exposure of the sensible points in a space to the data
        and the Sun positions. It is required to previously compute the 
        shadowing.
        
        If the computation has been made with a data timeseries, the plot
        will have a colorbar. Units are accumulated kilounits*hour (for 
        the series), that is, if the input data is in Watts 
        (irradiation) for a whole year, the output will be 
        kWh received in an entire year.
        
        If there is no data inputed, the plot will show only the number
        of times each point "has been seen by the Sun" along the series.
        
        :param places: Indexes of the places to plot. If -1, plots all.
        :type places: int or list
        :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 s_sop: Set of points size.
        :type s_sop: float or ndarray
        :param extra_height: Extra elevation for the points in the plot.
        :type extra_height: float
        :returns: None
        """
        import matplotlib.pyplot as plt
        import matplotlib.cm as cm
        import matplotlib.colors as mcolors

        sm = self.SM
        if sm.light_vor is None:
            raise ValueError('The shadowing has not been computed yet')
        proj_data = sm.proj_points*100/sm.proj_points.max()
        
        if places == -1: 
            places = range(len(sm.space.places))
        elif type(places) == int:
            places = [places]
            
        places = np.array(places)
        places[places<0] = len(sm.space.places) + places[places<0]
        places = np.unique(places)
        
        points = sm.space.get_sets_of_points()        
        index = sm.space.get_sets_index()        
        
        # Model plot
        sop = []
        data = []
        aux_space = pyny.Space() # Later centering of the plot
        ax=None
        for i in places:
            aux_space.add_places(sm.space[i])
            ax = sm.space[i].iplot(c_poly=c_poly, c_holes=c_holes, 
                                   c_sop=False, ret=True, ax=ax)
            sop.append(points[index==i])
            data.append(proj_data[index==i])
        sop = np.vstack(sop)
        sop = np.vstack((sop, np.array([-1e+12, -1e+12, -1e+12])))
        data = np.hstack(data)
        proj_data = np.hstack((data, 0))
                              
        # Sensible points plot
        ## Color
        cmap = cm.jet
        normalize = mcolors.Normalize(vmin=proj_data.min(), 
                                      vmax=proj_data.max())
        color_vector = cmap(normalize(proj_data))
        ## Plot
        ax.scatter(sop[:, 0], sop[:, 1], sop[:, 2]+extra_height, 
                   c=color_vector, s=s_sop)
        ## Axis
        aux_space.center_plot(ax)
                   
        ## Colorbar
        scalarmappaple = cm.ScalarMappable(norm=normalize, cmap=cmap)
        scalarmappaple.set_array(proj_data)
        cbar = plt.colorbar(scalarmappaple, shrink=0.8, aspect=10)
        cbar.ax.set_ylabel('%', rotation=0)
        if not (sm.arg_data.max() == 1 and sm.arg_data.min() == 1):
            plt.title('Accumulated data Projection\nmax = ' + \
                      str(sm.proj_points.max()) + \
                      ' kilounits*hour')
        else:
            plt.title('Sun exposure')