如何获得由等高线图绘制的线的(x,y)值?

Phi*_*erg 14 python matplotlib data-analysis

有没有一种简单的方法来获得如下所示的轮廓线的(x,y)值:

import matplotlib.pyplot as plt
x = [1,2,3,4]
y = [1,2,3,4]
m = [[15,14,13,12],[14,12,10,8],[13,10,7,4],[12,8,4,0]]
cs = plt.contour(x,y,m, [9.5])
plt.show()
Run Code Online (Sandbox Code Playgroud)

Mar*_*ark 12

查看返回的ContourSet的collections属性.特别是第一个集合的get_paths()方法返回构成每个线段的成对点.

cs.collections[0].get_paths()
Run Code Online (Sandbox Code Playgroud)

要获取坐标的NumPy数组,请使用该Path.vertices属性.

p1 = cs.collections[0].get_paths()[0]  # grab the 1st path
coor_p1 = p1.vertices
Run Code Online (Sandbox Code Playgroud)