Plotting multivalued surface in mayavi

2019-07-11 06:33发布

mayavi

I have some data which is on a structured grid in the X and Y directions and is unstructured in the Z direction. This is in the form of a list of data points, e.g [[x,y,z], [x2,y2,z2], ...]. There are 2 points corresponding to most x,y coordinates, and the data is double valued in the z dimension. I would like to plot this shape as an enclosed surface, and if possible remove one of the walls.

I have tried the advice here: http://docs.enthought.com/mayavi/mayavi/auto/example_surface_from_irregular_data.html#example-surface-from-irregular-data

When I try this only the bottom half of the plot is covered by the surface. I also get this message which I don' understand: No handlers could be found for logger "mayavi.core.common". I would love to know why this is.

I have tried plotting the top and bottom surfaces separately, but this looks a bit ugly. Here is what that looks like: two surfaces plotted independently

matplotlib

I have also tried to grid my data and follow the advice using the matplotlib demos. I can't post the link to this because I don't have the reputation, but if you google matplotlib plot3D demos it is in the first result.

I can't get this to produce anything reasonable. I think this is because I don't really understand how the sphere example on that web page could be adapted to work with data rather than a function.

Question

  • how can I adapt the code I have from the link I provided to produce a plot of an enclosed surface?

  • or, how can I use matplotlib to make the enclosed surface?

  • Or is there some other program/function I ought to be using for this kind of problem?

0条回答
登录 后发表回答