I have done some further research on this, and it appears to be a bug of some sort. Possibly the Locators are already made by the time the ax.set_xticks() is called and that function falls on deaf ears because the real xaxis is actually a different object for Axes3D. When trying to dig down and force zero ticks from being used (using NullLocator), I get errors when attempting to draw:
Traceback (most recent call last):
File “/home/bvr/Programs/matplotlib/matplotlib/lib/matplotlib/backends/backend_gtk.py”, line 390, in expose_event
self._render_figure(self._pixmap, w, h)
File “/home/bvr/Programs/matplotlib/matplotlib/lib/matplotlib/backends/backend_gtkagg.py”, line 75, in _render_figure
FigureCanvasAgg.draw(self)
File “/home/bvr/Programs/matplotlib/matplotlib/lib/matplotlib/backends/backend_agg.py”, line 394, in draw
self.figure.draw(self.renderer)
File “/home/bvr/Programs/matplotlib/matplotlib/lib/matplotlib/artist.py”, line 55, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File “/home/bvr/Programs/matplotlib/matplotlib/lib/matplotlib/figure.py”, line 798, in draw
func(*args)
File “/home/bvr/Programs/matplotlib/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py”, line 172, in draw
ax.draw(renderer)
File “/home/bvr/Programs/matplotlib/matplotlib/lib/mpl_toolkits/mplot3d/axis3d.py”, line 231, in draw
newval = get_flip_min_max(xyz1[0], newindex, mins, maxs)
IndexError: list index out of range
Ben Root
···
On Mon, Jun 14, 2010 at 2:14 AM, Ola Skavhaug <skavhaug@…3225…> wrote:
On Fri, Jun 11, 2010 at 4:50 PM, Benjamin Root <ben.root@…1304…> wrote:
Ola,
Just to make sure, have you tried “ax.set_xticks()”?
Yes, I have tried that, but without success. Looks like the tick-logic
is overridden for 3d plotting. Or at least, I cannot figure out how it
works.
Ola
Ben Root
On Fri, Jun 11, 2010 at 3:05 AM, Ola Skavhaug <skavhaug@…3155…> wrote:
Hi,
I’m trying to remove the xtickmarks and ytickmarks from a 3d plot,
without any success.
The example I experiment with is the following:
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
fig = plt.figure()
ax = axes3d.Axes3D(fig)
X, Y, Z = axes3d.get_test_data(0.05)
cset = ax.contour(X, Y, Z, 16, extend3d=True)
ax.clabel(cset, fontsize=9, inline=1)
#One try that didn’t work
ax.set_xticklabels(“”)
plt.show()
It looks like the final plot ignores all my efforts in turning the
ticks off. Any help on this matter would be greatly appreciated.
Regards,
–
Ola Skavhaug
Research Programmer
Simula Research Laboratory