def test_contourf(): a = np.zeros((4, 5)) a[0, 0] = -1 a[1, 1] = 1.1 a[2, 2] = 2.2 a[2, 4] = 1.9 a[3, 3] = 9 # UL Corner g = Grid(nxny=(5, 4), dxdy=(1, -1), x0y0=(-1, 3), proj=wgs84, pixel_ref='corner') c = Map(g, ny=400, countries=False) c.set_cmap(mpl.cm.get_cmap('viridis')) c.set_plot_params(levels=[0, 1, 2, 3]) c.set_data(a) s = a * 0. s[2, 2] = 1 c.set_contourf(s, interp='linear', hatches=['xxx'], colors='none', levels=[0.5, 1.5]) s = a * 0. s[0:2, 3:] = 1 s[0, 4] = 2 c.set_contour(s, interp='linear', colors='k', linewidths=6, levels=[0.5, 1., 1.5]) c.set_lonlat_contours(interval=0.5) # Add a geometry for fun gs = g.to_dict() gs['nxny'] = (1, 2) gs['x0y0'] = (0, 2) gs = Grid.from_dict(gs) c.set_geometry(gs.extent_as_polygon(), edgecolor='r', linewidth=2) fig, ax = plt.subplots(1) c.visualize(ax=ax) fig.tight_layout() # remove it c.set_contourf() c.set_contour() return fig
def test_text(): # UL Corner g = Grid(nxny=(5, 4), dxdy=(10, 10), x0y0=(-20, -15), proj=wgs84, pixel_ref='corner') c = Map(g, ny=4, countries=False) c.set_lonlat_contours(interval=5., colors='crimson', linewidths=1) c.set_text(-5, -5, 'Less Middle', color='green', style='italic', size=25) c.set_geometry(shpg.Point(-10, -10), s=500, marker='o', text='My point', text_delta=[0, 0]) shape = read_shapefile_to_grid(shapefiles['world_borders'], c.grid) had_c = set() for index, row in shape.iloc[::-1].iterrows(): if row.CNTRY_NAME in had_c: c.set_geometry(row.geometry, crs=c.grid) else: c.set_geometry(row.geometry, text=row.CNTRY_NAME, crs=c.grid, text_kwargs=dict(horizontalalignment='center', verticalalignment='center', clip_on=True, color='gray'), text_delta=[0, 0]) had_c.add(row.CNTRY_NAME) c.set_points([20, 20, 10], [10, 20, 20], s=250, marker='s', c='purple', hatch='||||', text='baaaaad', text_delta=[0, 0], text_kwargs=dict(horizontalalignment='center', verticalalignment='center', color='red')) fig, ax = plt.subplots(1, 1) c.visualize(ax=ax, addcbar=False) plt.tight_layout() c.set_text() assert len(c._text) == 0 c.set_geometry() assert len(c._geometries) == 0 return fig
def test_text(): # UL Corner g = Grid(nxny=(5, 4), dxdy=(10, 10), ll_corner=(-20, -15), proj=wgs84, pixel_ref='corner') c = Map(g, ny=4, countries=False) c.set_lonlat_contours(interval=5., colors='crimson') c.set_text(-5, -5, 'Less Middle', color='green', style='italic', size=25) c.set_geometry(shpg.Point(-10, -10), s=500, marker='o', text='My point', text_delta=[0, 0]) shape = read_shapefile_to_grid(shapefiles['world_borders'], c.grid) had_c = set() for index, row in shape.iloc[::-1].iterrows(): if row.CNTRY_NAME in had_c: c.set_geometry(row.geometry, crs=c.grid) else: c.set_geometry(row.geometry, text=row.CNTRY_NAME, crs=c.grid, text_kwargs=dict(horizontalalignment='center', verticalalignment='center', clip_on=True, color='gray'), text_delta=[0, 0]) had_c.add(row.CNTRY_NAME) c.set_points([20, 20, 10], [10, 20, 20], s=250, marker='s', c='purple', hatch='||||', text='baaaaad', text_delta=[0, 0], text_kwargs=dict(horizontalalignment='center', verticalalignment='center', color='red')) fig, ax = plt.subplots(1, 1) c.visualize(ax=ax, addcbar=False) plt.tight_layout() c.set_text() assert len(c._text) == 0 c.set_geometry() assert len(c._geometries) == 0 return fig
def test_geometries(): # UL Corner g = Grid(nxny=(5, 4), dxdy=(10, 10), x0y0=(-20, -15), proj=wgs84, pixel_ref='corner') c = Map(g, ny=4) c.set_lonlat_contours(interval=10., colors='crimson', linewidths=1) c.set_geometry(shpg.Point(10, 10), color='darkred', markersize=60) c.set_geometry(shpg.Point(5, 5), s=500, marker='s', facecolor='green', hatch='||||') s = np.array([(-5, -10), (0., -5), (-5, 0.), (-10, -5)]) l1 = shpg.LineString(s) l2 = shpg.LinearRing(s + 3) c.set_geometry(l1) c.set_geometry(l2, color='pink', linewidth=3) s += 20 p = shpg.Polygon(shpg.LineString(s), [shpg.LineString(s / 4 + 10)]) c.set_geometry(p, facecolor='red', edgecolor='k', linewidth=3, alpha=0.5) p1 = shpg.Point(20, 10) p2 = shpg.Point(20, 20) p3 = shpg.Point(10, 20) mpoints = shpg.MultiPoint([p1, p2, p3]) c.set_geometry(mpoints, s=250, marker='s', c='purple', hatch='||||') c.set_scale_bar(color='blue') fig, ax = plt.subplots(1, 1) c.visualize(ax=ax, addcbar=False) plt.tight_layout() c.set_geometry() assert len(c._geometries) == 0 return fig
def test_geometries(): # UL Corner g = Grid(nxny=(5, 4), dxdy=(10, 10), ll_corner=(-20, -15), proj=wgs84, pixel_ref='corner') c = Map(g, ny=4) c.set_lonlat_contours(interval=10., colors='crimson') c.set_geometry(shpg.Point(10, 10), color='darkred', markersize=60) c.set_geometry(shpg.Point(5, 5), s=500, marker='s', facecolor='green', hatch='||||') s = np.array([(-5, -10), (0., -5), (-5, 0.), (-10, -5)]) l1 = shpg.LineString(s) l2 = shpg.LinearRing(s + 3) c.set_geometry(l1) c.set_geometry(l2, color='pink', linewidth=3) s += 20 p = shpg.Polygon(shpg.LineString(s), [shpg.LineString(s / 4 + 10)]) c.set_geometry(p, facecolor='red', edgecolor='k', linewidth=3, alpha=0.5) p1 = shpg.Point(20, 10) p2 = shpg.Point(20, 20) p3 = shpg.Point(10, 20) mpoints = shpg.MultiPoint([p1, p2, p3]) c.set_geometry(mpoints, s=250, marker='s', c='purple', hatch='||||') fig, ax = plt.subplots(1, 1) c.visualize(ax=ax, addcbar=False) plt.tight_layout() c.set_geometry() assert len(c._geometries) == 0 return fig