Я рисую некоторые данные в виде 3D-участка с использованием Matplotlib. Код, который я использую, очень похож на этот 3D surface plot example. Он генерирует график, показанный ниже:Как получить вертикальную ось Z в трехмерном графическом изображении Matplotlib?
Проблема с этим сюжетом является то, что Z-ось не по вертикали. Как сделать вертикальную ось Z?
Я изучил различные доступные API и нашел view_init. Установив низкую высоту (elev=1
) сюжета с помощью view_init
, можно получить Z-оси, чтобы быть вертикальным, как показано ниже:
Тем не менее, проблема здесь состоит в том, что при низкой высоте Y- метки метки оси, все они перезаписаны и не могут быть просмотрены правильно. Поэтому мне нужно, чтобы график находился на высокой высоте и с углом поворота плоскости X-Y, как показано на рисунке 1. Как достичь вертикальной оси Z для этого графика?
Я не знаю Matlab, но я знаю, что Matplotlib получен из API Matlab. Итак, я рассмотрел примеры поверхностного графика в документации Matlab и обнаружил, что ось Z в своих примерах кажется вертикальной. Один рисунок для иллюстрации с большой высоте показано ниже:
Update 1: На основании предложения Bentoy13, я установить view_init(elev=30, azim=-37.5)
и получил результат ниже. Это лучше, но не по вертикали:
Для сравнения, Z-оси в Matlab сюжет совершенно вертикальной. Кроме того, как видно из этого угла, я не могу использовать этот azim=-37.5
, поскольку некоторая информация скрыта. Любое другое решение? :-)
Похоже, что перфективная проекция/проблема ortographc proyection –