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

时间:2017-09-23 16:08:41

标签: python-2.7 matplotlib plot data-visualization matplotlib-basemap

Link to full code

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

一种。使用数字实例

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

单元格1:

SELECT u.* FROM users u
JOIN posts p 
WHERE u.id IS NEVER IN p.user_id
NOT IN (SELECT p.user_id FROM posts )

单元格2:fig, ax = plt.subplots() m = Basemap(... , ax=ax)

小组3:

# do other stuff

Cell 4:

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

<小时/> 示例屏幕截图:

enter image description here

B中。让pyplot不接近数字

另一个选择是让pyplot不要关闭数字。这是此答案的第二个选项:How to overlay plots from different cells?

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

enter image description here