【问题标题】:how to 3dplot 3 colum data via mlab.surf如何通过 mlab.surf 3d 绘制 3 列数据
【发布时间】:2013-08-08 14:54:11
【问题描述】:

数据是这样的:

x,y,z
1.1,2.2,3.3
5.5,1.45,6.77

下面是我的代码,它只能绘制一个平面

import numpy as np
from enthought.mayavi import mlab

x,y,zs =np.loadtxt('test',delimiter=',',usecols=(0,1,2),unpack=True,skiprows=1)
z = np.zeros((len(x), len(x)))
for xi in np.arange(len(x)):
        z[xi, xi] = zs[xi]
pl = mlab.surf(x, y, z, warp_scale="auto")
mlab.axes(xlabel='x', ylabel='y', zlabel='z')
mlab.outline(pl)

这是我期待的效果: http://philipp.spitzer.priv.at/notes/attachment/wiki/PythonPlotting/PythonPlottingSurf.png

【问题讨论】:

    标签: python numpy mayavi


    【解决方案1】:

    对我来说似乎没问题:

    这不是你所期待的吗?

    【讨论】:

    • 你使用的代码和上面一模一样?我想做一个曲面图。效果在那个链接里。你的点很少见?我的点在一个平面上。很奇怪。跨度>
    • 我不得不对您最初发布的代码进行一些非常小的编辑(由于某种原因留下了一个</br> HTML 标签,我不得不在参数中添加skiprows=1np.loadtxt 以使其跳过test 第一行上的x,y,z)。我还使用了from mayavi import mlab,因为我没有使用 Enthought Python Distribution。
    • 谢谢。有时间可以加分。我的积分还在一个平面上。我发个新帖再问。
    • 你应该修改这篇文章而不是开始一个新的(除非你有一个单独的问题要问)。
    猜你喜欢
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 2020-07-01
    • 2018-05-29
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多