如何获取等高线图绘制的线的 (x,y) 值?
有没有一种简单的方法来获取像这样绘制的等高线的 (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()
Is there an easy way to get the (x,y) values of a contour line that was plotted like this:
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()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
查看返回的 ContourSet 的集合属性。特别是第一个集合的 get_paths() 方法返回组成每个线段的配对点。
要获取坐标的 NumPy 数组,请使用 Path.vertices 属性。
Look at the collections property of the returned ContourSet. In particular the get_paths() method of the first collection returns paired points making up each line segment.
To get a NumPy array of the coordinates, use the
Path.vertices
attribute.遍历集合并提取路径和顶点并不是最直接或最快的事情。返回的 Contour 对象实际上通过
cs.allsegs
具有线段的属性,它返回形状 [level][element][vertex_coord] 的嵌套列表:因此,所有路径的顶点可以提取为:
参见参考:
https://matplotlib.org/3.1.1/api/contour_api.html
Going through the collections and extracting the paths and vertices is not the most straight forward or fastest thing to do. The returned Contour object actually has attributes for the segments via
cs.allsegs
, which returns a nested list of shape [level][element][vertex_coord]:Hence the vertices of an all paths can be extracted as:
See reference:
https://matplotlib.org/3.1.1/api/contour_api.html