Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 在Jupyter笔记本的matplotlib底图上打印数据点_Python 2.7_Matplotlib_Plot_Data Visualization_Matplotlib Basemap - Fatal编程技术网

Python 2.7 在Jupyter笔记本的matplotlib底图上打印数据点

Python 2.7 在Jupyter笔记本的matplotlib底图上打印数据点,python-2.7,matplotlib,plot,data-visualization,matplotlib-basemap,Python 2.7,Matplotlib,Plot,Data Visualization,Matplotlib Basemap,我能够在Jupyter笔记本中成功地创建美国的基本地图,并在第4单元中完成形状文件、颜色和边框 我试图用单元格8中的以下行将许多数据点绘制到该底图上: m.plot(x, y, marker='o', markersize=data, color='#444444', alpha=0.8, latlon=True) 数据被打印出来,但我丢失了所有的底图格式和形状。实际上,我希望第8单元覆盖在第4单元上。我怀疑我没有在同一平面上绘制这些形状 另外,plt.show()什么也没有给我。我缺少什么?

我能够在Jupyter笔记本中成功地创建美国的基本地图,并在第4单元中完成形状文件、颜色和边框

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

m.plot(x, y, marker='o', markersize=data, color='#444444', alpha=0.8, latlon=True)
数据被打印出来,但我丢失了所有的底图格式和形状。实际上,我希望第8单元覆盖在第4单元上。我怀疑我没有在同一平面上绘制这些形状

另外,plt.show()什么也没有给我。我缺少什么?

A.使用图形实例 其思想可以是在创建底图时明确指定要打印的轴

单元1:

fig, ax = plt.subplots()
m = Basemap(... , ax=ax)
第二单元:
#做其他事情

单元3:

# plot to map:
m.plot(...)
第4单元:

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

示例的屏幕截图:

B.不要让pyplot接近数字 另一种选择是让pyplot不关闭图形。这是该答案的第二个选项:


您是否在jupyter笔记本中使用导入语句运行“%matplotlib inline”?是的,我运行过。这些图表显示在我的jupyter笔记本中,但它们是分开的。所以,如果你把整个代码放在一个单元格中,我怀疑一切都会正常工作,对吧?!对于测试,最好有一个可用的。@ImportanceOfBeingErnest True,我可以把这个例子浓缩下来。这个答案(全部放在一个单元格中)和下面的答案(将轴参数传递给basemap)都是很好的解决方案。非常感谢。我想知道为什么一个细胞能工作,而分裂细胞却不能。内存?否原因是在新单元格中打印时没有当前图形,因此创建了新图形。你可以阻止这种情况发生,我在下面的回答中有一个新的部分详细说明了这一点。
%config InlineBackend.close_figures=False