FAQ mplot3d #

Como o mplot3d é diferente do Mayavi? #

Mayavi é uma biblioteca de gráficos 3D muito poderosa e cheia de recursos. Para cenas 3D avançadas e excelentes recursos de renderização, é altamente recomendável usar o Mayavi.

O mplot3d foi planejado para permitir que os usuários criem gráficos 3D simples com a mesma "aparência" dos gráficos 2D do matplotlib. Além disso, os usuários podem usar o mesmo kit de ferramentas com o qual já estão familiarizados para gerar gráficos 2D e 3D.

Meu gráfico 3D não parece correto em determinados ângulos de visão #

Este é provavelmente o problema mais comumente relatado com mplot3d. O problema é que - de alguns ângulos de visão - um objeto 3D apareceria na frente de outro objeto, mesmo que estivesse fisicamente atrás dele. Isso pode resultar em plotagens que não parecem "fisicamente corretas".

Infelizmente, embora algum trabalho esteja sendo feito para reduzir a ocorrência desse artefato, atualmente é um problema intratável e não pode ser totalmente resolvido até que o matplotlib suporte a renderização de gráficos 3D em seu núcleo.

O problema ocorre devido à redução dos dados 3D para 2D + escalar de ordem z. Um único valor representa a 3ª dimensão para todas as partes de objetos 3D em uma coleção. Portanto, quando as caixas delimitadoras de duas coleções se cruzam, torna-se possível que esse artefato ocorra. Além disso, a interseção de dois objetos 3D (como polígonos ou patches) não pode ser renderizada corretamente no mecanismo de renderização 2D do matplotlib.

Este problema provavelmente não será resolvido até que o suporte OpenGL seja adicionado a todos os back-ends (patches são muito bem-vindos). Até então, se você precisar de cenas 3D complexas, recomendamos o uso do MayaVi .

Não gosto de como o gráfico 3D é apresentado, como faço para mudar isso? #

Historicamente, o mplot3d sofreu com a codificação de parâmetros usados ​​para controlar recursos visuais, como espaçamento de rótulos, comprimento do tick e largura da linha de grade. O trabalho está sendo feito para eliminar esse problema. Para matplotlib v1.1.0, há uma maneira semioficial de modificar esses parâmetros. Consulte a nota na mplot3d.axis3dseção da documentação da API mplot3d para obter mais informações.