No Display in Axes3D with Logarithmic axes

OS :Win7 SP1

ActivePython-2.7.1.3-win32-x86.msi

numpy-1.5.1-win32-superpack-python2.7.exe

matplotlib-1.0.1.win32-py2.7.exe

Code:

from mpl_toolkits.mplot3d import axes3d

ax = axes3d.Axes3D(plt.gcf())

#ax.set_xlim(1,100000)

#ax.set_ylim(1,100000)

ax.set_xlabel(“Download(GB)”)

ax.set_ylabel(“Upload(GB)”)

ax.set_title(“User Up/Down In 6 days”)

ax.set_xscale(‘log’) # Error: Cause No display

#ax.set_yscale(‘log’) #

group = ax.scatter3D([1,20,300],[1,20,300],[1,20,300])

#ax.legend( user_level_groups, [ user[0] for user in user_level_str_list] )

plt.show()

Error:

Exception in Tkinter callback

Traceback (most recent call last):

File “C:\Python27\lib\lib-tk\Tkinter.py”, line 1410, in call

return self.func(*args)

File “C:\Python27\lib\site-packages\matplotlib\backends\backend_tkagg.py”, line 245, in resize

self.show()

File “C:\Python27\lib\site-packages\matplotlib\backends\backend_tkagg.py”, line 248, in draw

FigureCanvasAgg.draw(self)

File “C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py”, line 394, in draw

self.figure.draw(self.renderer)

File “C:\Python27\lib\site-packages\matplotlib\artist.py”, line 55, in draw_wrapper

draw(artist, renderer, *args, **kwargs)

File “C:\Python27\lib\site-packages\matplotlib\figure.py”, line 798, in draw

func(*args)

File “C:\Python27\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py”, line 172, in draw

ax.draw(renderer)

File “C:\Python27\lib\site-packages\mpl_toolkits\mplot3d\axis3d.py”, line 238, in draw

self.label.draw(renderer)

File “C:\Python27\lib\site-packages\matplotlib\artist.py”, line 55, in draw_wrapper

draw(artist, renderer, *args, **kwargs)

File “C:\Python27\lib\site-packages\matplotlib\text.py”, line 591, in draw

ismath=ismath)

File “C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py”, line 154, in draw_text

self._renderer.draw_text_image(font.get_image(), int(x), int(y) + 1, angle, gc)

File “C:\Python27\lib\site-packages\numpy\ma\core.py”, line 3818, in int

raise MaskError, ‘Cannot convert masked element to a Python int.’

MaskError: Cannot convert masked element to a Python int.

2011/4/3 hongleij <hongleij@…1787…>

OS :Win7 SP1

ActivePython-2.7.1.3-win32-x86.msi

numpy-1.5.1-win32-superpack-python2.7.exe

matplotlib-1.0.1.win32-py2.7.exe

Code:

from mpl_toolkits.mplot3d import axes3d

ax = axes3d.Axes3D(plt.gcf())

#ax.set_xlim(1,100000)

#ax.set_ylim(1,100000)

ax.set_xlabel(“Download(GB)”)

ax.set_ylabel(“Upload(GB)”)

ax.set_title(“User Up/Down In 6 days”)

ax.set_xscale(‘log’) # Error: Cause No display

#ax.set_yscale(‘log’) #

group = ax.scatter3D([1,20,300],[1,20,300],[1,20,300])

#ax.legend( user_level_groups, [ user[0] for user in user_level_str_list] )

plt.show()

Error:

Exception in Tkinter callback

Traceback (most recent call last):

File “C:\Python27\lib\lib-tk\Tkinter.py”, line 1410, in call

return self.func(*args)

File “C:\Python27\lib\site-packages\matplotlib\backends\backend_tkagg.py”, line 245, in resize

self.show()

File “C:\Python27\lib\site-packages\matplotlib\backends\backend_tkagg.py”, line 248, in draw

FigureCanvasAgg.draw(self)

File “C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py”, line 394, in draw

self.figure.draw(self.renderer)

File “C:\Python27\lib\site-packages\matplotlib\artist.py”, line 55, in draw_wrapper

draw(artist, renderer, *args, **kwargs)

File “C:\Python27\lib\site-packages\matplotlib\figure.py”, line 798, in draw

func(*args)

File “C:\Python27\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py”, line 172, in draw

ax.draw(renderer)

File “C:\Python27\lib\site-packages\mpl_toolkits\mplot3d\axis3d.py”, line 238, in draw

self.label.draw(renderer)

File “C:\Python27\lib\site-packages\matplotlib\artist.py”, line 55, in draw_wrapper

draw(artist, renderer, *args, **kwargs)

File “C:\Python27\lib\site-packages\matplotlib\text.py”, line 591, in draw

ismath=ismath)

File “C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py”, line 154, in draw_text

self._renderer.draw_text_image(font.get_image(), int(x), int(y) + 1, angle, gc)

File “C:\Python27\lib\site-packages\numpy\ma\core.py”, line 3818, in int

raise MaskError, ‘Cannot convert masked element to a Python int.’

MaskError: Cannot convert masked element to a Python int.

Sorry for the delay in responding.

Yes, this is a known bug. I have not been able to figure out its exact cause. At this point, I will just say that mplot3d does not support log scales.

Sorry I could not be more helpful.
Ben Root