Hi everyone,

I have got a question with regards to the 3D plotting capabilites of

matplotlib: Are there any plans/ongoing projects to make matplotlib (or

its mplot3d submodule) suitable for complex 3D plotting?

In particular, I am interested in plotting of geometric objects and

surfaces and exporting these to vector graphics formats. I have done some

research online and while there are some packages out there for 3D

visualisation of data, all of them only export to raster graphics.

The only program that I have come across that supports this is

Mathematica, which is commercial. I believe that the option of producing

publication-quality vector graphics for complex 3D scenes as might be

desired in a scientific application is a feature that is currently missing

in matplotlib.

When I say high quality I have something like the 3D plots of the

tikz/pgfplots packages in latex in mind, although again these do not

support complex 3D scenes. I know there is mayavi, but I feel this does

not offer the same quality for a scientific visualisation. Besides, it is

a separate package and not part of matplotlib.

An example of a visualisation that I want to achieve is the following:

Plot a function of two variables as a 3D surface and then add a sphere

that is tangent to the surface at some point. Then allow different camera

angles with correct occlusion of hidden parts and varying levels of

transparency. Add lighting and shading and export this as a vector graphic

to a pdf file.

Are there any plans to make something like this possible in matplotlib? If

not, does anyone have hints as to what would be required to program this?