Как отключить автоматическую замену меток осей в matplotlib?

1

Используя matplotlib в Python, я нарисовал 3D-график. Когда я поворачиваю график, я заметил, что метки осей автоматически меняются, что не выглядит интересным или помогает мне. На самом деле это мешает моему сосредоточению на цели вращения, которая заключается в том, чтобы визуально визуализировать представленные данные.

Q: Как отключить автоматическую замену меток осей при вращении в matplotlib?

  • 0
    Прежде чем комментировать, я подумал, что должно быть легко отключить оси с помощью pl.axis ('off') или mpl_toolkits.mplot3d.set_axis_off (), но ни одна из них не работает!
Теги:
matplotlib

1 ответ

0
Лучший ответ

Я взял некоторые идеи от SO, рассмотрел многие и, наконец, разработал следующее решение. Это просто работает.


from __future__ import division
import scipy as sp
import mpl_toolkits.mplot3d as a3d
import pylab as pl

nan = sp.nan

def axesoff():
    box = [[-1,1,1,-1,-1,1,1,-1,-1,-1,nan,1,1,nan,1,1,nan,-1,-1],
           [-1,-1,-1,-1,1,1,1,1,-1,-1,nan,-1,1,nan,1,-1,nan,1,1],
           [-1,-1,1,1,1,1,-1,-1,-1,1,nan,-1,-1,nan,1,1,nan,-1,1]]
    ax3.plot(*box,color='k')
    for axis in (ax3.w_xaxis,ax3.w_yaxis,ax3.w_zaxis):
        for obj in axis.get_ticklines(): obj.set_visible(False)
        axis.set_ticklabels('')
        axis.line.set_visible(False)
        axis.pane.set_visible(False)
    ax3.grid(False)
    ax3.axis('equal')

#------here we go
x,y,z = sp.random.uniform(low=-1,high=1,size=(3,1000))
c = (x+1)+(y+1)+(z+1)
s = c*10
ax3 = a3d.Axes3D(pl.figure())
ax3.scatter(x,y,z,lw=0,s=s,c=c,alpha=0.5)

axesoff()

pl.show()

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню