From a polygon shape I create a square buffer to create a sattelite image of my location. The shape is defined as a .shp file that I read with geopandas.
I'd like to display the image AND the shape on the same graph using matplotlib, the finale result should look like that :
I manage to display and stretch the image on a matplotlib figure
with rio.open(file) as f: data = f.read([1, 2, 3], masked=True) bands =  for i in range(3): band = data[i] h_, bin_ = np.histogram(band[np.isfinite(band)].flatten(), 3000, density=True) #remove the NaN from the analysis cdf = h_.cumsum() # cumulative distribution function cdf = 3000 * cdf / cdf[-1] # normalize # use linear interpolation of cdf to find new pixel values band_equalized = np.interp(band.flatten(), bin_[:-1], cdf) band_equalized = band_equalized.reshape(band.shape) bands.append(band_equalized) data = np.stack( bands, axis=0 ) data = data/3000 data = data.clip(0, 1) data = np.transpose(data,[1,2,0]) i = year - start_year ax = axes[getPositionPdf(i), getPositionPdf(i)] ax.imshow(data, interpolation='nearest') #[...] unrelevant display customization
But I don't know how to display the shape on top of it. Does anyone know how to perform this trick?