尝试使用 Matplotlib.tri.UniformRefiner.refine_field 时出错
Error while trying to use Matplotlib.tri.UniformRefiner.refine_field
我正在尝试执行轮廓优化任务,并使用 mtri.UniformRefiner.refine_field 来执行此操作。代码如下:
triang = mtri.Triangulation(mesh_pts[:, 0],mesh_pts[:, 1],triangles=tri_revise)
refiner = mtri.UniformTriRefiner(triang)
interpolator = mtri.CubicTriInterpolator(triang,grid_z)
tri_refi, grid_z = refiner.refine_field(grid_z, subdiv=4, triinterpolator=interpolator)
当我尝试运行上面的代码时,出现了一个错误:
ValueError:形状不匹配:形状 (114,) 的值数组无法广播到形状 (109,)
的索引结果
z值grid_z的形状是(114,),但是我很难找出索引结果的形状是什么。我想知道是否有人可以帮助我找到问题所在。或者如果有其他方法可以插入 triangle_mesh 和 z 值,也请指出。提前谢谢你。
我在尝试绘制 x、y 和 z 数据的 tricontour
时遇到了同样的问题。我通过删除基于 x 和 y 的重复值来解决它。
data.sort_values('z').drop_duplicates(subset=['x', 'y'], keep='last')
这里的数据是一个包含列 'x'、'y' 和 'z'.
的数据框
我正在尝试执行轮廓优化任务,并使用 mtri.UniformRefiner.refine_field 来执行此操作。代码如下:
triang = mtri.Triangulation(mesh_pts[:, 0],mesh_pts[:, 1],triangles=tri_revise)
refiner = mtri.UniformTriRefiner(triang)
interpolator = mtri.CubicTriInterpolator(triang,grid_z)
tri_refi, grid_z = refiner.refine_field(grid_z, subdiv=4, triinterpolator=interpolator)
当我尝试运行上面的代码时,出现了一个错误: ValueError:形状不匹配:形状 (114,) 的值数组无法广播到形状 (109,)
的索引结果z值grid_z的形状是(114,),但是我很难找出索引结果的形状是什么。我想知道是否有人可以帮助我找到问题所在。或者如果有其他方法可以插入 triangle_mesh 和 z 值,也请指出。提前谢谢你。
我在尝试绘制 x、y 和 z 数据的 tricontour
时遇到了同样的问题。我通过删除基于 x 和 y 的重复值来解决它。
data.sort_values('z').drop_duplicates(subset=['x', 'y'], keep='last')
这里的数据是一个包含列 'x'、'y' 和 'z'.
的数据框