python - Matplotlib mplot3d:填充边缘以获得“凸面”
问题描述
这就是我绘制 3D 曲面图的方式。
数据以 (x,y,z) 格式存储:
tmp.dat
=======
1 1 1
2 1 4
3 1 1
1 2 4
2 2 5
3 2 4
1 3 1
2 3 4
3 3 1
要绘制它,我使用以下代码:
def getMeshGrid(dat):
x = dat[:,0]; y = dat[:,1]; z = dat[:,2]
xVal, xIdx = np.unique(x, return_inverse=True)
yVal, yIdx = np.unique(y, return_inverse=True)
zVal = np.empty(xVal.shape+yVal.shape)
zVal.fill(np.nan)
zVal[xIdx, yIdx] = z
xx, yy = np.meshgrid(np.unique(x), np.unique(y))
zz = zVal.T
return (xx, yy, zz)
dat = np.loadtxt("tmp.dat")
X, Y, Z = getMeshGrid(dat)
fig = pl.figure()
axe = fig.add_subplot(111, projection='3d')
axe.plot_surface(X, Y, Z)
pl.show()
我得到的情节看起来像这样(没关系):。然而,我想做的是也填充所有正面三角形以获得“凸面”。
如果不清楚,我想用边 [1,1]、[3,1]、[2,4] 填充平面 x=1、x=3、y=1、y=3 中的三角形维护表面调色板。
谢谢你的任何建议。
解决方案
推荐阅读
- javascript - 使用 javascript 调用 ng-click
- java - 如何修复 java.lang.NullPointerException:尝试调用接口方法'boolean java.util.List.add(java.lang.Object)?
- c# - 带参数和 TabBar 的 Shell 路由
- javascript - 节点脚本类型错误:无法读取未定义的属性“作者”
- java - 我的 tcp 客户端 hello 没有 sni,即使我添加了它
- arrays - 如何将字符串中的数字序列添加到c中的整数数组?
- dry - 在 LiliyPond 中,你如何改变音乐表达方式?
- c - 错误无法绑定套接字:无法分配请求的地址
- python - 在python中将dtype对象转换为每小时的日期时间
- angular - angular-particle 库不工作 angular 9 (IVY :On)