使用matplotlib查看从shapefile读取的多边形

使用matplotlib查看从shapefile读取的多边形,matplotlib,shapefile,Matplotlib,Shapefile,我正在尝试使用matplotlib和 但我所有的努力只产生了一个没有多边形的空轴。以下是我的一些尝试,使用数据集显示: 使用补丁的另一次尝试也会产生一个空帧: fig = plt.figure(figsize=(11.7,8.3)) ax = plt.subplot(111) x,y=zip(*b.points) import matplotlib.patches as patches import matplotlib.pyplot as plt bol=patches.Polygon(b.

我正在尝试使用matplotlib和 但我所有的努力只产生了一个没有多边形的空轴。以下是我的一些尝试,使用数据集显示:

使用补丁的另一次尝试也会产生一个空帧:

fig = plt.figure(figsize=(11.7,8.3))

ax = plt.subplot(111)
x,y=zip(*b.points)
import matplotlib.patches as patches
import matplotlib.pyplot as plt
bol=patches.Polygon(b.points,True, transform=ax.transAxes)

ax.add_patch(bol)
ax.set_ylim(0,60)
ax.set_xlim(0,200)
plt.show()
很高兴看到我错过了什么。

谢谢,Oz

您可以使用
ax.autoscale()
来设置轴的范围,而不是调用
set\u xlim(),set\u ylim()

对于多边形版本,无需将transform参数设置为ax.transAxes,只需调用:

bol=patches.Polygon(b.points,True)

谢谢,我真的不明白这些方法是如何工作的,它实际上是在绘制多边形,但它超出了我的框架。ax.autoscale()与删除转换的组合一起工作。
bol=patches.Polygon(b.points,True)