在 Jupyter Notebook 中将数据点绘制到 matplotlib 底图上

Plotting data points onto matplotlib Basemap in Jupyter Notebook

Link to full code

我能够在 Jupyter Notebook 中成功创建美国底图,并在 Cell 4 中完成 shapefile、着色和边框。

我正在尝试使用单元格 8 中的以下行将许多数据点绘制到此底图上:

m.plot(x, y, marker='o', markersize=data, color='#444444', alpha=0.8, latlon=True)

数据已绘制,但我丢失了底图的所有格式和形状。实际上,我希望单元格 8 覆盖在单元格 4 上。我怀疑我没有在同一平面上绘制这些形状。

此外,plt.show() 什么也没给我。我错过了什么?

一个。使用图形实例

想法可以是在创建底图时明确指定要绘制到的轴。

单元格 1:

fig, ax = plt.subplots()
m = Basemap(... , ax=ax)

单元格 2:# do other stuff

单元格 3:

# plot to map:
m.plot(...)

单元格 4:

# state figure object to show figure (when inline backend is in use) 
fig


示例截图:

乙。让 pyplot 不关闭数字

另一种选择是让 pyplot 不关闭图形。这是此答案的第二个选项:

%config InlineBackend.close_figures=False