Open houserockr opened 1 day ago
When using this package in conjunction with the Basemap library from https://matplotlib.org/basemap/stable/ zooming by scrolling seems to scale different elements of a plot/map differently and then elements of the plot "drift" apart from each other.
Basemap
#!/usr/bin/env python3 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap from mpl_pan_zoom import PanManager, zoom_factory, MouseButton def plot_arrow(xs, ys): plt.arrow(xs[0], ys[0], xs[1]-xs[0], ys[1]-ys[0], shape='full', color='k', fill=True, length_includes_head=True, width=2000, overhang=0.5) def main(): fig, ax = plt.subplots(constrained_layout=True) disconnect_zoom = zoom_factory(ax) pan_manager = PanManager(fig, MouseButton.MIDDLE) m = Basemap(projection='stere', lat_0=51.0, lon_0=10.0, width=750000, height=900000, resolution ='i',area_thresh=1000.) lat = np.array([49.555396, 52.537839]) lon = np.array([7.960521, 12.797734]) m.plot(lon,lat, color='k', lw=1, latlon=True) # draw coastlines, meridians and parallels. m.drawcoastlines() m.drawcountries() m.drawmapboundary(fill_color='#99ffff') m.fillcontinents(color='#cc9966',lake_color='#99ffff') m.drawparallels(np.arange(47,55,1),labels=[1,1,0,0]) m.drawmeridians(np.arange(5,15,1),labels=[0,0,0,1]) plt.show() if __name__ == "__main__": main()
After starting the script:
After scrolling/zooming with the mouse wheel:
Description
When using this package in conjunction with the
Basemap
library from https://matplotlib.org/basemap/stable/ zooming by scrolling seems to scale different elements of a plot/map differently and then elements of the plot "drift" apart from each other.What I Did
After starting the script:
After scrolling/zooming with the mouse wheel: