小编Out*_*ier的帖子

如何使用 matplotlib 剪切形状文件内的轮廓?

我正在绘制内核密度图,但我的轮廓正在延伸到水域中。我没有太多编码经验,但我使用形状文件来绘制我的“底图”。但是,我不确定如何从形状文件创建剪辑路径,以便将轮廓切割到国家/地区的边缘。关于这个问题的任何指导将不胜感激。

我决定使用 shapefile 的外部边界创建一个剪辑路径。但是,当我将 set_clip_path 函数应用于轮廓集合时,多边形边界的内部被裁剪。这是我使用的代码的要点。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.path as mpath
import matplotlib.patches as mpatches
import shapefile as shp

lon_lat_box = (-61.979370, -60.444031, 9.974261, 11.375031)

fig = plt.figure(figsize=(15,15))
ax1 = fig.add_subplot(1,1,1)

Path = mpath.Path

#read shape file
sfile = shp.Reader("./tto_adm0/TTO_adm0.shp")

#make clip path
for shape_rec in sfile.shapeRecords():
    vertices = []
    codes = []
    pts = shape_rec.shape.points
    prt = list(shape_rec.shape.parts) + [len(pts)]
    for i in range(len(prt) - 1):
        for j …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

5
推荐指数
0
解决办法
1972
查看次数

标签 统计

matplotlib ×1

python ×1