2017-09-28 33 views
0

내가 코드 geopandascolormap를 사용하여지도를 그릴 그림 A하기 matplotlib에 대한 관심의 중앙 부분을 저장 :확대 및 geopandas이

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) 

그런 다음, 나는이 그림을 얻을 수는 (데이터가 예와 다르다 당신이 볼 수 있듯이 위)

Final map of agent-based model with Taxes paid by individual firms

, 관심있는 기업은지도의 중심에 있습니다. 나는 좌표 봉투를 제공하고자

, 나는이 줌을 제공해야한다 생각 gdf.total_bounds 속성

minx, miny, maxx, maxy = gdf.total_bounds 
ax.set_xlim(minx, maxx) 
ax.set_ylim(miny, maxy) 

찾고있는 당신을 생각 년 Colorbar 및 savefig()

답변

2

를 유지, 이미지를 rezoom 당신이 찾고있는 수준. 또한 각각에 '패드'를 추가하여 각 축 경계에서 포인트가 올바르지 않게 할 수 있습니다.