【问题标题】:Python - How to plot 'boundary edge' onto a 2D plotPython - 如何将“边界边缘”绘制到二维图上
【发布时间】:2016-10-01 18:17:07
【问题描述】:

下面的程序 pastebinned 生成如下图: Pastebinhttp://pastebin.com/wNgAG6K9

基本上,该程序求解 AA 的方程,并绘制提供的值 AA>0 和 AA=/=0。数据使用pcolormesh 绘制,来自名为xyz 的3 个数组(第57 - 59 行)。

我想做的事:

我想在解决方案从零(黑色)到非零(黄色/绿色)的边界周围绘制一条线,请参见下图。解决这个问题最明智的方法是什么?

即红色线条(在 MS 油漆中粗略地完成)

更多信息:我需要能够存储红色虚线边界值,以便我可以将红色虚线边界条件绘制到另一个由真实/测量/非理论数据制成的二维图。

请随时询问更多信息。

【问题讨论】:

    标签: python matplotlib plot


    【解决方案1】:

    在没有看到您的数据的情况下,我建议首先尝试使用 matplotlib 的内部算法来绘制对应于零级的 contour 线。这很简单,但可能会发生用于此的插值看起来不够好(我不知道它是否可以在等高线中找到那个尖峰)。布丁的证据在吃:

    plt.contour(x,y,z,[0],colors='r',linewidths=2,linestyles='dashed')
    

    如果这还不够,您可能不得不求助于图像处理方法来找到数据的边界(将其转换为二进制后)。

    【讨论】:

    • 感谢您的想法,但不幸的是这行不通。我希望以后能够将红色虚线边界线应用于另一个由真实数据制成的图。因此,红色虚线数据需要存储在某种数组中,以便稍后在另一个二维图上绘制。这意味着使用图像处理也没有用处。
    • @8765674 可以提取等高线数据。你必须弄脏你的手,but it's not too hard(或见this other answer of mine
    • 我现在要试一试。谢谢@Andras Deak
    • @8765674 运气好吗?
    猜你喜欢
    • 2021-12-03
    • 2013-02-02
    • 2020-12-16
    • 2017-10-26
    • 2017-06-02
    • 1970-01-01
    • 2020-07-23
    • 2015-12-14
    • 1970-01-01
    相关资源
    最近更新 更多