关键技术点
在使用 matplotlib 作图时,我们经常遇到如下的代码:
fig, ax = plt.subplots()
CS = ax.contour(X, Y, Z)
即,调用画图接口时候,返回了一个对象 CS。要想提取等值线坐标数据和属性值,就要从 CS 对象的方法属性入手。
通过搜索,发现 CS.collections 和 CS.levels 两个属性分别包含了等值线的坐标数据和属性值,并且他们的顺序是一样的。
思路来源
stackoverflow 上的两篇重要的回答:
collections 和 levels 的结构相同,分别存储了等值线和属性值
一个示例
参考上面的连接,我设计了一个下面的示例,可以测试提取等值图的等值线坐标数据和属性值。
import numpy as np
import matplotlib.pyplot as plt
#从等值线中提取坐标点和属性值
def get_contour_verts(cn):
contours = []
i