Gráficos 2D não estão alinhados com as paredes do eixo 3D no python mplot3D

Estou tentando plotar dados 2D em um eixo 3D. Eu tenho a forma 3D trabalhando usandoax.plot_surface mas não consigo fazer com que os dados 2D fiquem nivelados contra as paredes do eixo usandoax.plot.

Aqui está um código de exemplo simplificado mostrando o problema que estou tendo com os dados 2D:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# Generate Example Data
x = [0.04,0,-0.04]
y = [0.04,0,-0.04]
z = [0.04,0,-0.04]

# Start plotting environment
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# Plot 3 lines positioned against the axes "walls"
ax.plot(x,y,-0.08,zdir='z',c='r')
ax.plot(x,z, 0.08,zdir='y',c='g')
ax.plot(y,z,-0.08,zdir='x',c='b')

# Label each axis
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')

# Set each axis limits
ax.set_xlim([-0.08,0.08])
ax.set_ylim([-0.08,0.08]) 
ax.set_zlim([-0.08,0.08]) 

# Equally stretch all axes
ax.set_aspect("equal")

# Set plot size for saving to disk
plt.gcf().set_size_inches(11.7,8.3) 

# Save figure in .eps and .png format
plt.savefig('test.eps', format='eps')
plt.savefig('test.png', format='png', dpi=300)

# Display figure
plt.show()

Isso fornece o seguinte resultado, do qual você poderá ver que as extremidades das linhas de dados não ficam nas linhas do eixo (ou seja, não se alinham com 0,04 e -0,04):

Ao explorar interativamente o enredo, determinei que alterar os 0,08 noax.plot chamadas, com uma magnitude de 0,083 (mantendo os sinais relevantes), permite que as parcelas se ajustem muito mais horizontalmente à parede.

Minha interpretação disso é que a plotagem não está forçando meus limites de eixo, o que parece evidente na plotagem, observando os espaçamentos em que os eixos se encontram, mas usandoax.get_xlim() etc, mostra os valores que defini, então estou perdendo alguma coisa.

Alguma idéia de como posso fazer com que essas parcelas fiquem encostadas nas paredes?

Muito Obrigado,

Tim

Editar:

Eu também tentei definir os limites do eixo usando

ax.set_xlim3d(-0.08,0.08)
ax.set_ylim3d(-0.08,0.08) 
ax.set_zlim3d(-0.08,0.08) 

e

 ax.set_xlim3d([-0.08,0.08])
 ax.set_ylim3d([-0.08,0.08]) 
 ax.set_zlim3d([-0.08,0.08])

sem sorte.

Definitivamente, estou inclinado a atribuir isso a um problema de preenchimento em que os eixos se encontram, mas não consigo encontrar nenhuma documentação sobre isso. ie Estou definindo a posição da plotagem para -0,08 e o limite do eixo para -0,08, mas a plotagem está adicionando um pouco de preenchimento no final para estabelecer limites entre -0,082 e -0,083.

Desejo remover o preenchimento ou obter o valor do preenchimento para que eu possa inseri-lo noax.plot comando.

Edit2:

Outra pessoa que encontrou esse problema, mas não teve o problema resolvidoAlterando a posição das paredes da grade em uma figura do mplot3d

questionAnswers(1)

yourAnswerToTheQuestion