jwass / mplleaflet

Easily convert matplotlib plots from Python into interactive Leaflet web maps.
BSD 3-Clause "New" or "Revised" License
521 stars 76 forks source link

mplleaflet is showing blank when points / features > 1000[Python Notebook] #79

Open ashutoshsoni891 opened 3 years ago

ashutoshsoni891 commented 3 years ago

I have kml file with 1000+ features and I am trying to plot via matplotlib and mplleaflet . When I tried to plot the GeoSeries with 1000+ features it shows blank whereas it works perfect when features < 1000

I am using mplleaflet inside Python Notebook

Here is the code :

import mplleaflet
import maptplotlib.pyplot as plt
import geopandas as gpd

df= gpd.read_file('xyz.kml')

ax_wfs = df['geometry'][:1000].plot(figsize = (15,10) , color = 'black'  )
mplleaflet.display(fig=ax_wfs.figure , tiles='osm' )

I have also tried some stackoverflow hacks like %%capture %matplotlib inline changing alpha value to 0.1

but unfortunately it didnt work at all . @jwass could you please help me out ? This seems like a bug

Thanks in advance! Ash

DmitrySerg commented 3 years ago

I'm experiencing the same issue. Seems like 1000 points is a magic threshold for Jupyter Notebook. The only workaround I found is opening the plot in a separate window. In that case the number of points does not seem to cause any issues

import matplotlib.pyplot as plt
import mplleaflet
%matplotlib qt

fig = plt.figure(figsize=(10, 8))
plt.scatter(
    latlong[:, 1][:1500],
    latlong[:, 0][:1500], 
    alpha=0.5
)
mplleaflet.show(fig=fig)

Cheers, Dima