|
| 1 | +.. _toolkit_mplot3d-faq: |
| 2 | + |
| 3 | +*********** |
| 4 | +mplot3d FAQ |
| 5 | +*********** |
| 6 | + |
| 7 | +How is mplot3d different from MayaVi? |
| 8 | +===================================== |
| 9 | +`MayaVi2 <http://code.enthought.com/projects/mayavi/documentation.php>`_ |
| 10 | +is a very powerful and featureful 3D graphing library. For advanced |
| 11 | +3D scenes and excellent rendering capabilities, it is highly recomended to |
| 12 | +use MayaVi2. |
| 13 | + |
| 14 | +mplot3d was intended to allow users to create simple 3D graphs with the same |
| 15 | +"look-and-feel" as matplotlib's 2D plots. Furthermore, users can use the same |
| 16 | +toolkit that they are already familiar with to generate both their 2D and 3D |
| 17 | +plots. |
| 18 | + |
| 19 | + |
| 20 | +My 3D plot doesn't look right at certain viewing angles |
| 21 | +======================================================= |
| 22 | +This is probably the most commonly reported issue with mplot3d. The problem |
| 23 | +is that -- from some viewing angles -- a 3D object would appear in front |
| 24 | +of another object, even though it is physically behind it. This can result in |
| 25 | +plots that do not look "physically correct." |
| 26 | + |
| 27 | +Unfortunately, while some work is being done to reduce the occurance of this |
| 28 | +artifact, it is currently an intractable problem, and can not be fully solved |
| 29 | +until matplotlib supports 3D graphics rendering at its core. |
| 30 | + |
| 31 | +The problem occurs due to the reduction of 3D data down to 2D + z-order |
| 32 | +scalar. A single value represents the 3rd dimension for all parts of 3D |
| 33 | +objects in a collection. Therefore, when the bounding boxes of two collections |
| 34 | +intersect, it becomes possible for this artifact to occur. Furthermore, the |
| 35 | +intersection of two 3D objects (such as polygons or patches) can not be |
| 36 | +rendered properly in matplotlib's 2D rendering engine. |
| 37 | + |
| 38 | +This problem will likely not be solved until OpenGL support is added to all of |
| 39 | +the backends (patches are greatly welcomed). Until then, if you need complex |
| 40 | +3D scenes, we recommend using |
| 41 | +`MayaVi <http://code.enthought.com/projects/mayavi/documentation.php>`_. |
| 42 | + |
| 43 | + |
| 44 | +I don't like how the 3D plot is laid out, how do I change that? |
| 45 | +=============================================================== |
| 46 | +Historically, mplot3d has suffered from a hard-coding of parameters used |
| 47 | +to control visuals such as label spacing, tick length, and grid line width. |
| 48 | +Work is being done to eliminate this issue. For matplotlib v1.1.0, there is |
| 49 | +a semi-official manner to modify these parameters. See the note in the |
| 50 | +:ref:`toolkit_mplot3d-axisapi` section of the mplot3d API documentation for |
| 51 | +more information. |
| 52 | + |
0 commit comments