I am also seeing this behavior and it is unfortunately holding my project back.
I have seen it with python 2.6 on Debian Linux and Windows XP. I have seen it in version 0.99.1 and the latest SVN tree (as of yesterday). I want to highlight a portion of each 3d bar with another color. This image shows what I want to do: http://old.nabble.com/file/p27358778/bar3d-1.png (http://www.benaxelrod.com/temp/bar3d-1.png) But rotating the view leads to rendering issues: http://old.nabble.com/file/p27358778/bar3d-2.png (http://www.benaxelrod.com/temp/bar3d-2.png) http://old.nabble.com/file/p27358778/bar3d-3.png (http://www.benaxelrod.com/temp/bar3d-3.png) In this example, the bars are drawn next to each other. Here is the source code to generate the images: # code adapted from: hist3d_demo.py from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = Axes3D(fig) x, y = np.random.rand(2, 100) * 4 hist, xedges, yedges = np.histogram2d(x, y, bins=4) elements = (len(xedges) - 1) * (len(yedges) - 1) xpos, ypos = np.meshgrid(xedges[:-1]+0.25, yedges[:-1]+0.25) xpos = xpos.flatten() ypos = ypos.flatten() zpos = np.zeros(elements) dx = 0.5 * np.ones_like(zpos) dy = dx.copy() dz = hist.flatten() dx = dx*0.5 xpos = xpos - dx ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color='b') ax.bar3d(xpos+dx, ypos, zpos, dx, dy, dz, color='r') ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z') plt.show() #end code I also tried to overlap the bars, but the result was even worse because from certain angles one of the colors was not visible at all. I thought that the issue might be due to calling bar3d muliple times. So I tried passing in an array of collors to bar3d with no luck. It seems that bar3d only takes a single color. Is this planned to be fixed so that bar3d() can take a color array just like bar()? Also note that even very simple examples demonstrate the bug. For example: http://old.nabble.com/file/p27358778/bar3d-4.png (http://www.benaxelrod.com/temp/bar3d-4.png) http://old.nabble.com/file/p27358778/bar3d-5.png (http://www.benaxelrod.com/temp/bar3d-5.png) Thanks, -Ben pierre-yves.debrito wrote: > > Hi, > I am currently using this version : matplotlib-0.99.1.win32-py2.6.exe > When I draw several Axes3D.bar3d in the same figure, as in this example, > the faces are not drawn in the correct order. > Did I do something wrong or is it a rendering bug? > Is there a workaround? > > Thanks > Pierre-Yves de Brito > > > > > > from mpl_toolkits.mplot3d import Axes3D > import matplotlib.pyplot as plt > from numpy import array, arange > > > contrib=[[0.18263,0.19098,0.16815,0.16295,0.09372,0.10505,0.15934], > [0.00769,0.01315,0.01668,0.01645,0.03536,0.03493,0.00599], > [0.47109,0.43646,0.43171,0.41794,0.14761,0.09472,0.21969], > [0.25633,0.28820,0.34066,0.37184,0.68048,0.72773,0.57749], > [0.06492,0.05539,0.03205,0.02151,0.03357,0.02411,0.01512]] > > print contrib[0] > N = 7 > ind = arange(N) # the x locations for the groups > width = 0.1 # the width of the bars: can also be len(x) sequence > > > I = array([1,1,1,1,1,1,1]) > > fig = plt.figure() > ax = Axes3D(fig) > > for i in range(1,7): > ax.bar3d(ind[i], 0, 0, 0.1, 0.1, contrib[0][i], color='b') > ax.bar3d(array(ind[i])+0.15, 0, 0, 0.1, 0.1, contrib[1][i], color='r' > ) > ax.bar3d(array(ind[i])+2*0.15, 0, 0, 0.1, 0.1, contrib[2][i], color= > 'g') > ax.bar3d(array(ind[i])+3*0.15, 0, 0, 0.1, 0.1, contrib[3][i], color= > 'c') > ax.bar3d(array(ind[i])+4*0.15, 0, 0, 0.1, 0.1, contrib[4][i], color= > 'm') > > plt.show() > > > > > This message and any attachments (the "message") is > intended solely for the addressees and is confidential. > If you receive this message in error, please delete it and > immediately notify the sender. Any use not in accord with > its purpose, any dissemination or disclosure, either whole > or partial, is prohibited except formal approval. The internet > can not guarantee the integrity of this message. > BNP PARIBAS (and its subsidiaries) shall (will) not > therefore be liable for the message if modified. > Do not print this message unless it is necessary, > consider the environment. > > --------------------------------------------- > > Ce message et toutes les pieces jointes (ci-apres le > "message") sont etablis a l'intention exclusive de ses > destinataires et sont confidentiels. Si vous recevez ce > message par erreur, merci de le detruire et d'en avertir > immediatement l'expediteur. Toute utilisation de ce > message non conforme a sa destination, toute diffusion > ou toute publication, totale ou partielle, est interdite, sauf > autorisation expresse. L'internet ne permettant pas > d'assurer l'integrite de ce message, BNP PARIBAS (et ses > filiales) decline(nt) toute responsabilite au titre de ce > message, dans l'hypothese ou il aurait ete modifie. > N'imprimez ce message que si necessaire, > pensez a l'environnement. > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -- View this message in context: http://old.nabble.com/rendering-bug-in-bar3d-tp26413625p27358778.html Sent from the matplotlib - users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users