B F*_*ado 2 python zoom matplotlib save geopandas
我使用geopandas
和colormap
代码绘制地图:
import numpy as np
## make up some random data
df = pd.DataFrame(np.random.rand(20, 3), columns=['x', 'y', 'val'])
df['geometry'] = df.apply(lambda row: shapely.geometry.Point(row.x, row.y), axis=1)
# make it a geopandas DataFrame
gdf = gpd.GeoDataFrame(df)
## the plotting
ax = gdf.plot(column='val', colormap='hot', vmin=vmin, vmax=vmax)
# add colorbar
fig = ax.get_figure()
cax = fig.add_axes([0.9, 0.1, 0.03, 0.8])
sm = plt.cm.ScalarMappable(cmap='hot', norm=plt.Normalize(vmin=0, vmax=1))
# fake up the array of the scalar mappable. Urgh...
sm._A = []
fig.colorbar(sm, cax=cax)
Run Code Online (Sandbox Code Playgroud)
然后,我得到这个图(数据与上面的示例不同)
如您所见,感兴趣的公司位于地图的中心。
我想提供一个坐标信封,缩放图像,保留颜色条和 savefig()
我认为您正在寻找gdf.total_bounds
属性
minx, miny, maxx, maxy = gdf.total_bounds
ax.set_xlim(minx, maxx)
ax.set_ylim(miny, maxy)
Run Code Online (Sandbox Code Playgroud)
我认为这应该可以提供您想要的缩放级别。您还可以在每个轴上添加一个“垫”,以确保您的点在每个轴边界处都不正确。
归档时间: |
|
查看次数: |
2087 次 |
最近记录: |