Как мне спрятать оси в matplotlib 3d? - PullRequest
30 голосов
/ 07 сентября 2011

Как сделать 3D-график без отображения осей?

При построении 3D-графика Matplotlib не только рисует оси x, y и z, но и рисует светло-серые сетки на xy, yzи самолеты xz.Я хотел бы нарисовать «свободно плавающий» 3D-график без этих элементов.

Материал, который я пробовал:

# Doesn't work; this hides the plot, not the axes
my_3d_axes.set_visible(False)

# Doesn't do anything. Also, there's no get_zaxis() function.
my_3d_axes.get_xaxis().set_visible(False)
my_3d_axes.get_yaxis().set_visible(False)

1 Ответ

24 голосов
/ 09 сентября 2011

Бен Рут предоставил патч, исправляющий это для 1.0.1.Его можно найти в приложении к последнему электронному письму этой теме .Процитирую Бена:

Хорошо, похоже, что скрытие 3d-осей было функцией, добавленной после выпуска v1.0 (но до того, как я начал работать над mplot3d).Этот патч должен включать базовую функцию, не мешая существующим функциям.Чтобы скрыть оси, вам нужно установить для закрытого члена "_axis3don" значение False, например:

ax = plt.gca (projection = '3d') ax._axis3don = False

Если вы сделаете это таким образом, то вы получите то, что хотите сейчас, и ваш код все равно будет совместим с mplot3d при обновлении (хотя предпочтительным методом будет вызов set_axis_on () или set_axis_off ()).

Надеюсь, это поможет!

Бен Рут

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...