Plotly绘制Mesh3d抛物面时如何删除XZ、YZ平面的多余蓝色曲面
抛物面绘制多余曲面问题解决方案
出现多余XZ、YZ曲面的原因是go.Mesh3d在未手动指定三角面连接规则时,自动三角剖分逻辑会错误连接抛物面边缘点,生成额外的平面。可通过以下两种方法解决:
- 方案一(推荐):使用
go.Surface绘制规则网格曲面,该类原生适配二维网格数据,不会出现错误连接问题。
示例代码:import plotly.graph_objects as go import numpy as np x = np.arange(-6,7,1) y = np.arange(-6,7,1) x, y = np.meshgrid(x,y) z = x**2 + y**2 fig = go.Figure(data=[go.Surface(x=x, y=y, z=z)]) fig.show() - 方案二:如果必须使用
go.Mesh3d,添加alphahull参数控制三角化逻辑即可修复。
修正后的代码:import plotly.graph_objects as go import numpy as np x = [-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6] y = [-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6] x, y = np.meshgrid(x,y) x = x.flatten() y = y.flatten() z = x * x + y * y fig = go.Figure(data=[go.Mesh3d(x=y, y=x, z=z, alphahull=-1)]) fig.show()
内容的提问来源于stack exchange,提问作者TestName0
相关产品推荐
相关产品推荐

