Hi,

What prevents me from using mplot3d in the classroom is highlighted by the 
following example.

# surface3d_demo2.py
import matplotlib
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = Axes3D(fig)

u = np.linspace(0, 2*np.pi, 100)
v = np.linspace(0,  np.pi,  100)

x = 10 * np.outer(np.cos(u), np.sin(v))
y = 10 * np.outer(np.sin(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))

ax.plot_surface(x, y, z, rstride=4,  cstride=4, color='b')

yy = np.linspace(-10, 10, 40)
zz = np.linspace(-10, 10, 40)
[yy, zz] = np.meshgrid(yy, zz)
xx = np.ones(np.shape(yy))

ax.plot_surface(xx, yy, zz, rstride=1, cstride=1, color=".7")

ax.set_xlabel('x-axis')
ax.set_ylabel('y-axis')

plt.show()

This code produces the following image:

http://msemac.redwoods.edu/~darnold/junk/test1.png

Pretty much the same code in Matlab:

u=linspace(0,2*pi,40);
v=linspace(0,pi,40);
[u,v]=meshgrid(u,v);
 
x=10*cos(u).*sin(v);
y=10*sin(u).*sin(v);
z=10*cos(v);
 
surf(x,y,z,'FaceColor','b')
 
yy=linspace(-10,10,40);
zz=yy;
[yy,zz]=meshgrid(yy,zz);
xx=ones(size(yy));
 
hold on
 
surf(xx,yy,zz,'FaceColor',[0.7,0.7,0.7])
 
view(30,30)
 
print -dpng 'test2.png'
 
shg


Produces this image:

http://msemac.redwoods.edu/~darnold/junk/test2.png

The inability of mplot3d to determine which image is in front seems to be a 
problem.

The following page (must be viewed in Firefox) will give some sense of what I 
need when teaching multivariable calculus.

http://msemac.redwoods.edu/~darnold/math50c/matlab/index.php

David Arnold
College of the Redwoods
http://msemac.redwoods.edu/~darnold/index.php



Davd Arnold
College of the Redwoods
On Feb 21, 2010, at 2:02 PM, Ben Axelrod wrote:

> I am not a MPL developer, but I am using mplot3d quite heavily right now to 
> support 3D plots for a client of mine.  I have found many bugs and lacking 
> features which I require in the mplot3d library and have modified my local 
> copy of the code significantly.  I am eagerly awaiting Reinier's return from 
> vacation so that I can work with him to integrate my improvements.  For the 
> most part, these fixes simply make the 3D plots behave more like the 2D 
> plots.  Here is a tentative list of my changes so far:
> 
> * bug fix: placement of title in 3D plots to match 2D plot behavior
> * bug fix: allow facecolors and edgecolors to be specified as 'none' in 3D 
> scatter plots to match the 2D scatter plot behavior
> * bug fix: allow all keyword arguments to be used in text3D
> * bug fix: allow an array of colors to be passed into bar3d to specify the 
> colors on a per-bar or per-face basis
> * bug fix: allow all keyword arguments to be used in bar3d
> * bug fix: allow 3d scatter plots with 3 or 4 points with colors specified
> * new feature: new method to disable mouse rotation in 3D plots
> * new feature: new Z-order sorting heuristic to eliminate rendering issues 
> for the common case of using bar3d to visualize a 2D histogram
> * new feature: new method text2D
> * code cleanup: warn when canvas is None which disables mouse callbacks
> * code cleanup: fully document more methods in mplot3d
> 
> Although I haven't written them yet, I can probably create a couple more 
> example codes:
> * example code: demonstrate use of transform() to do rectangle selection in 
> 3D scatter plots
> * example code: mplot3d with wx - demonstrate turning off mouse rotations to 
> make pan and zoom toolbar buttons work properly
> 
> There are a few other bugs that I would really like fixed, but can't quite 
> figure out right now.  Hopefully Reinier will be able to shed some light on 
> these:
> * axis label picking for 3D axes
> * how to set axis tick label properties for 3D axes
> * allow 3d boxes with transparent faces to make "wireframe" boxes
> * fix z-order sorting across multiple calls to bar3d()
> 
> I should note that because of my client, I have a vested interest in seeing 
> mplot3d (with the above bug fixes) make it into a stable release of MPL.  But 
> at the same time, I don't have a lot of spare time to spend on MPL 
> development.
> 
> Thanks,
> -Ben
> 
> ________________________________________
> From: John Hunter [jdh2...@gmail.com]
> Sent: Sunday, February 21, 2010 12:19 PM
> To: Jakub Nowacki
> Cc: matplotlib-users@lists.sourceforge.net
> Subject: Re: [Matplotlib-users] mplot3d stays?
> 
> On Sun, Feb 21, 2010 at 8:20 AM, Jakub Nowacki
> <j.s.nowa...@googlemail.com> wrote:
>> Hi,
>> 
>> I have quite general question. Since mplot3d now back in matplotlib, the 
>> question is: is it going to stay there? Or is it some test release? I was 
>> just wondering cause sometimes I use 3d plotting and use Mayavi2 for that 
>> but in many cases it's like killing the spider with a shotgun, not 
>> mentioning that installation process can be quite tricky.
>> 
>> Thanks for answer in advance/
> 
> Like anything in open source, it stays as long as someone supports it.
> The original implementation in matplotlib.axes3d was not supported by
> the original authors and none of the core developers had the bandwidth
> to support it, so we pulled it when a significant transformations
> refactoring broke the existing 3D support and noone had the resources
> to fix it.  It languished for a while to Reinier picked up the torch
> with help from others and reintegrated it into mpl.  To date he has
> been supporting it but is mostly acting alone (bus factor 1) .  So we
> plan to continue support for mpl but we need developers to do it, so
> don't be shy about jumping into the code base and seeing if you can
> make incremental enhancements when you need them.
> 
> On the plus side, the core of mpl is in pretty good shape, so I don't
> anticipate the need for a significant refactoring of the internals of
> the kind Michael did a couple of years ago which broke mplot3d the
> first time.
> 
> JDH
> 
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to