【问题标题】:Triangulation in Matplotlib with Provided TrainglesMatplotlib 中使用提供的三角形进行三角剖分
【发布时间】:2020-09-23 05:17:23
【问题描述】:

我有如下数据:x、y、三角形

在 MATLAB 上并使用 trisurf 函数,我提供 (triangles, x, y) 来获得结果,非常直接。

然而,在 Matplotlib 上,如果我使用相同的数据,我会得到:

  • 三角形数量超出范围(如果我使用现有三角形)

  • 如果我让 tri.triangulation de 决定三角形,我的几何图形之外的一条奇怪的线(红线)。 (德劳内三角剖分)。

也许我的问题需要不同的方法,如果有人能指导我找到更好的解决方案,我会很高兴。

import matplotlib.pyplot as plt
import matplotlib.tri as tri
import pandas as pd
import numpy as np

dlel = pd.read_fwf('HSH_Calculation.LEL')
dlnd = pd.read_fwf('HSH_Calculation.LND')
dt = pd.read_fwf('HSH_Calculation.HTD')

xy = np.asarray(dlnd.iloc[:, 3:5])

x = xy[:, 0]
y = xy[:, 1]
triangles = np.asarray(dlel.iloc[:, 1:4])
# triang = tri.triangulation(x,y)
triang = tri.Triangulation(x, y)


plt.figure()
plt.gca().set_aspect('equal')
# plt.triplot(x, y, triangles, 'go-', lw=1.0)
plt.triplot(triang, 'go-', lw=1.0)
plt.title('triplot of user-specified triangulation')
plt.xlabel('Longitude (degrees)')
plt.ylabel('Latitude (degrees)')

plt.show()

[计算文件][1]

[1]:https://drive.google.com/file/d/1HPlSu6HYzVpIgtT7y_maeNESUa5y1WW9/view?usp=sharinghttps://drive.google.com/file/d/1YKFxfkU1iIkEfXPs9nZd6f-STkJNqT2Q/view?usp=sharinghttps://drive.google.com/file/d/1njxGiYqucUv4YyhY6H0U35lfuN2_zPfw/view?usp=sharing

【问题讨论】:

    标签: python matplotlib triangulation


    【解决方案1】:

    解决了! 最后发现这不是处理问题的正确方法。 我不得不使用 patch.Polygon 来分别创建每个三角形。 后来我根据函数输出(z)添加了一个颜色图。

    非常高兴它成功了!

    【讨论】:

      猜你喜欢
      • 2016-09-27
      • 2011-07-15
      • 2016-09-28
      • 2012-03-04
      • 2016-02-08
      • 2014-01-21
      • 2013-09-17
      • 2015-07-23
      • 1970-01-01
      相关资源
      最近更新 更多