【问题标题】:.plot() command does not display anything.plot() 命令不显示任何内容
【发布时间】:2020-05-23 22:16:45
【问题描述】:

我有这个代码基于这个问题,只是不同点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 Code

非常感谢

【问题讨论】:

  • 如果你这样做gpd_plt = gpd.GeoSeries([point]).plot(ax=ax, color='r'); gpd_plt.show()会发生什么?
  • 它引发属性错误“AxesSubplot 对象没有属性“显示”
  • 如果您从交互式 Python 控制台会话运行代码会发生什么? (如果 Visual Studio Code 没有这样的控制台,你可以试试 Spyder 的那个。)
  • 你需要导入 matplotlib 来显示绘图。看到这个问题:gis.stackexchange.com/questions/223653/…
  • 谢谢你们的帮助,导入matplotlib解决了我的问题:)

标签: python plot osmnx


【解决方案1】:

由于我的评论回答了你的问题,我将在这里总结给其他人:

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

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

%matplotlib inline

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

import matplotlib.pyplot as plt

那么当你想展示你的情节时,你只需这样做

plt.show()

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2012-01-06
    • 1970-01-01
    • 2013-02-13
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 2020-04-12
    相关资源
    最近更新 更多