如何使用Jupyter Notebook上的Matplot Basemap定义地图宽度/高度?

时间:2017-12-23 11:07:57

标签: python matplotlib jupyter-notebook matplotlib-basemap

TL; DR

如何将地图设置为1600x900 px?

描述

我正在尝试使用Basemap库使用Jupyter Notebook绘制地图,如下所示:

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt

atlas = Basemap(
    llcrnrlon  =   -10.5, # Longitude lower right corner
    llcrnrlat  =      35, # Latitude lower right corner
    urcrnrlon  =    14.0, # Longitude upper right corner
    urcrnrlat  =    44.0, # Latitude upper right corner
    resolution =     'i', # Crude resolution
    projection = 'tmerc', # Transverse Mercator projection
    lat_0      =    39.5, # Central latitude
    lon_0      =   -3.25  # Central longitude
)

atlas.drawmapboundary(fill_color='aqua')
atlas.fillcontinents(color='#cc9955',lake_color='aqua')
atlas.drawcoastlines()
plt.show()

并获得以下结果

enter image description here

是否可以使绘制的地图更大,定义它应该具有的最小宽度和高度?

1 个答案:

答案 0 :(得分:2)

您可以使用figure

例如:

plt.figure(figsize=(1, 1)) 

创建一个逐英寸的图像,除非您还提供不同的dpi参数,否则将为80 x 80像素。 您可以通过两种可能的方式更改 dpi

方式1 :将其作为参数传递给图如下:(即 300

plt.figure(figsize=(1, 1),dpi=300)

方式2 :将其传递给savefig()

plt.savefig("foo.png", dpi=300)

完美Example