多边形上的点(散点)未显示在matplotlib中

问题描述 投票:0回答:1

我想使用matplotlib绘制一些(简单的)多边形,并在其上绘制一些点。多边形没有问题,但是散点不显示。有关如何解决/纠正此问题的任何建议?

# imports
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon

# polygons
gg = {'municipality 1': [(1, 1), (2, 5), (3, 3), (2, 0)],
      'municipality 2': [(3, 4), (4, 6), (5, 8), (6, 3)],
      'municipality 3': [(2, 0), (3, 3), (3, 4), (6, 3), (4, -3)]}

# points / places
gh = {'municipality 1': (4, 2), 'municipality 2': (2, 2), 'municipality 3': (5, 5)}

# set colors
gk = {'municipality 1': 'royalblue', 'municipality 2': 'tomato', 'municipality 3': 'springgreen'}

# figure
fig, ax = plt.subplots()

for gemeente in gg.keys():
    poly = Polygon(gg[gemeente], label=gemeente, facecolor=gk[gemeente], edgecolor='black', linewidth=1)
    ax.add_patch(poly)

for gemeente in gh.keys():
    ax.scatter(gh[gemeente][0], gh[gemeente][1], c='black', label=gemeente)

ax.legend()

plt.autoscale()
plt.show()
python matplotlib geospatial polygon
1个回答
0
投票

点在那里,但是隐藏在多边形下。您可以使用zorder参数设置最上方的图:

for gemeente in gg:
    poly = Polygon(gg[gemeente], label=gemeente, facecolor=gk[gemeente], edgecolor='black', linewidth=1, zorder=1)
    ax.add_patch(poly)
    ax.scatter(gh[gemeente][0], gh[gemeente][1], c='black', label=gemeente, zorder=2)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.