.plot()命令不显示任何内容

时间:2020-02-07 18:31:11

标签: python plot osmnx

我有这个基于这个问题的代码,只是Extract constrained polygon using OSMnx

我正在尝试绘制该点所在的块,但它什么也没做,只是打印“完成”,但看不到任何图像

import osmnx as ox
import geopandas as gpd
import shapely

point = (50.090464, 14.400070)

streets_graph = ox.graph_from_point(point, distance=500, network_type='drive')
streets_graph = ox.project_graph(streets_graph)

streets = ox.save_load.graph_to_gdfs(streets_graph, nodes=False, edges=True,
                                     node_geometry=False, fill_edge_geometry=True)

point = streets.unary_union.centroid

polygons = shapely.ops.polygonize(streets.geometry)
polygons = gpd.GeoSeries(polygons)

target = polygons.loc[polygons.contains(point)]

target_streets = streets.loc[streets.intersection(target.iloc[0]).type == 'MultiLineString']

ax = target_streets.plot()
gpd.GeoSeries([point]).plot(ax=ax, color='r')

print("Done")

我认为这可能无济于事,但我正在使用Visual Studio代码

非常感谢您

1 个答案:

答案 0 :(得分:1)

由于我的评论回答了您的问题,因此我在这里为其他人总结一下:

在使用依赖于matplotlib的绘图库时,例如geopandas或seaborn,您将需要导入matplotlib才能显示该图。 matplotlib的导入方式取决于您使用的是Jupyter还是简单的脚本(.py)文件。

对于Jupyter,您需要这样导入它:

%matplotlib inline

对于简单的脚本(.py)文件,您需要这样导入:

import matplotlib.pyplot as plt

然后,当您想显示自己的情节时,只需执行

plt.show()

希望有帮助!