Skip to main content
 首页 » 编程设计

Python Matplotlib basemap之如何设置缩放级别

2024年10月01日26haluo1

我有一个数据框,其中的位置以经度和纬度坐标(以度为单位)给出。这些地点在纽约附近。因此,我在 Python 中设置了一个 basemap ,可以很好地显示所有这些位置。工作正常!

但是: map 是内联绘制的,而且非常小。我怎样才能强制这个数字比方说大 3 倍 (zoom=3)。

这是代码。数据来自Kaggle Two Sigma Rental Listing挑战。

%matplotlib inline 
import matplotlib.pyplot as plt 
from mpl_toolkits.basemap import Basemap 
 
# New York Central Park 
# Longitude: -73.968285 
# Latitude: 40.785091 
 
m = Basemap(projection='merc',llcrnrlat=40,urcrnrlat=42,\ 
            llcrnrlon=-75, urcrnrlon=-72, resolution='i', area_thresh=50, lat_0=40.78, lon_0=-73.96) 
 
m.drawmapboundary() 
m.drawcoastlines(color='black', linewidth=0.4) 
m.drawrivers(color='blue') 
m.fillcontinents(color='lightgray') 
 
lons = df['longitude'].values 
lats = df['latitude'].values 
x,y = m(lons, lats) 
 
# r = red; o = circle marker (see: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot) 
m.plot(x, y, 'ro', markersize=4) 
 
plt.show() 

请您参考如下方法:

通常它会很简单:

plt.figure(figsize=(20,10)) 

How do you change the size of figures drawn with matplotlib?

但也有一些其他选项,请参阅:

How to maximize a plt.show() window using Python

同时获取当前大小(用于“缩放”)

How to get matplotlib figure size

关于具体问题:

the figure is inline inside a Jupyter notebook

在创建或绘制 map /图形之前:

import matplotlib  
matplotlib.rcParams['figure.figsize'] = (30,30)