Hi Ben, Comments inline... On Fri, Jul 22, 2011 at 1:31 AM, Benjamin Root <ben.r...@ou.edu> wrote: > > > On Thu, Jul 21, 2011 at 1:10 AM, gary ruben <gary.ru...@gmail.com> wrote: >> >> I'm trying to make a surface plot using the latest version of mplot3d >> from the git trunk and I have a couple of questions. The attached >> image is close to what I would like. The associated plot command I am >> using is >> >> ax.plot_surface(X, Y, Z, rstride=1, cstride=1, alpha=0.8, shade=True, >> cmap=plt.cm.summer, >> color='k', >> facecolors='k', >> lightsource = LightSource(azdeg=0, altdeg=0), >> ) >> >> 1. Is there support now to automatically annotate the axis so that a >> multiplier is added, as occurs in 2D plots, or should I do this >> manually by rescaling the data for the moment? > > Yes, offset text is now automatic and should activate in similar manner as > it does for regular 2D axis formatters. You were one order of magnitude off > from automatically triggering it. Also, I should note that it might be > better to use "ax = fig.gca(projection='3d')" instead of "ax = Axes3D(fig)" > because the former will leave more of a margin, which would allow the offset > text to be fully visible.
Thanks. That's actually what I am doing but I cropped the output image before attaching it. > If you want the full figure area, then you may > need to fiddle with the ax.zaxis._axinfo['label']['space_factor'] to bring > it and the axis label closer to the axis. Thanks. That's useful to know. > The odd thing that I am encountering right now while investigating your > problem is that I can't seem to force the use of the offset. It could just > be that I am doing it wrong, but I will look closer. Yes, I had set 'axes.formatter.limits' : (-2, 2) hoping to trigger it - I guess that's what you tried. >> 2. Currently, it doesn't appear possible to shade the surface patches >> according to just a base facecolor and their orientation to a light >> source. Do I have to define a new colormap with a constant/single >> colour to achieve this? > > Looking over the plot_surface code, this appears to be the case, however, > looking back over the LightSource code, I believe it might be possible to > update plot_surface to operate on situations where no cmap is specified. I > will take a look today at that possibility and see if I can get it out for > the v1.1.0 release. That would be great - it is a very good way to visualize a surface so it should be made as simple as possible. >> 3. I have set alpha=0.8 to allow the wireframe lines to show through a >> little. When shade=False, the wireframe is visible but I lose >> orientation-based shading. Is there a way to overlay the wireframe >> properly when shade=True? >> > > In plot_surface, when shade=True, it appears that both the facecolors and > the edgecolors are set to the same colors. The only reason why the lines > show up when you set transparency is that that alpha value is applied only > to the faces and not the edges. Specifically, the logic is as follows: > > if fcolors is specified, then set that color for both facecolor and > edgecolor. > Else, if a cmap is specified, then give the polygon collection the data, > limits and norm it needs to determine color itself. > Else, then use the value of "color" to specify only the facecolors. > > I think the first branch of this logic is a bit wonky. I agree, since fcolors must be specified in order to trigger the lightsource-based shading. > I am inclined to > make a small change that would only set the edgecolors if 'edgecolors' was > not provided as a kwarg. This would enable users to specify the edgecolor > they want without worrying about something else over-riding it. The only > problem seems to be that there would be no shading of these grid lines. > Would that still be acceptable to you? Absolutely acceptable. In fact I think it is preferable not to shade them. > Thanks for your valuable feedback! > Ben Root Thanks for being responsive to it :) regards, Gary ------------------------------------------------------------------------------ 10 Tips for Better Web Security Learn 10 ways to better secure your business today. Topics covered include: Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, security Microsoft Exchange, secure Instant Messaging, and much more. http://www.accelacomm.com/jaw/sfnl/114/51426210/ _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users