I think I found a bug with in the Axes3D color support. When there are 3 or 4
points to plot, then the you cannot specify an array of rgba arrays for the
colors of the points.
I tested in matplotlib 0.99.1 and the latest code from SVN. Both exibit the
bug. This simple code demonstrates the bug:
#simple Axes3D example setting color and size of points
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from numpy.random import rand
fig = plt.figure()
ax = Axes3D(fig)
n = 3 # ERROR WHEN n = 3 or 4 !!
xs = np.random.rand(n)
ys = np.random.rand(n)
zs = np.random.rand(n)
ss = np.random.rand(n) * 1000
cs = rand(n, 4)
ax.scatter(xs, ys, zs, s=ss, c=cs)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
#end code
This is the call trace for the bug:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python26\lib\lib-tk\Tkinter.py", line 1410, in __call__
return self.func(*args)
File "C:\Python26\lib\site-packages\matplotlib\backends\backend_tkagg.py",
line 212, in resize
self.show()
File "C:\Python26\lib\site-packages\matplotlib\backends\backend_tkagg.py",
line 215, in draw
FigureCanvasAgg.draw(self)
File "C:\Python26\lib\site-packages\matplotlib\backends\backend_agg.py",
line314, in draw
self.figure.draw(self.renderer)
File "C:\Python26\lib\site-packages\matplotlib\artist.py", line 46, in
draw_wrapper
draw(artist, renderer, *kl)
File "C:\Python26\lib\site-packages\matplotlib\figure.py", line 773, in draw
for a in self.axes: a.draw(renderer)
File "C:\Python26\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line
150, in draw
for col in self.collections]
File "C:\Python26\lib\site-packages\mpl_toolkits\mplot3d\art3d.py", line 290,
in do_3d_projection
self.set_facecolors(zalpha(self._facecolor3d, vzs))
File "C:\Python26\lib\site-packages\mpl_toolkits\mplot3d\art3d.py", line 497,
in zalpha
colors = [(c[0], c[1], c[2], c[3] * s) for c, s in zip(colors, sats)]
IndexError: index out of bounds
Thanks,
-Ben
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users