Переключение расположения осей x и y для трехмерного графика - PullRequest
0 голосов
/ 22 февраля 2019

Я делаю 3D-графики, используя Matplotlib, и заметил, что по умолчанию «левая сторона» - это ось y, а правая - ось x, и мне было интересно, смогу ли я их переключить.Вот код и изображение, которое я сделал:

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


fig = plt.figure(figsize=(10, 10))

ax = fig.add_subplot(111, projection='3d')
ax.set_xlim(-3, 5)
ax.set_ylim(-3, 5)
ax.set_zlim(-3, 5)
ax.view_init(elev=20, azim=32)

# u
ax.quiver(0, 0, 0, 2, -1, 0, color='C0', arrow_length_ratio=0.1, label=r'$\vec{u}$')
plt.plot([2, 2], [0, -1], 'k--', linewidth=1)
plt.plot([0, 2], [-1, -1], 'k--', linewidth=1)

# v
ax.quiver(0, 0, 0, -1, 2, -1, color='C1', arrow_length_ratio=0.1, label=r'$\vec{v}$')
ax.plot([0, -1], [2, 2], [0, 0], 'k--', linewidth=1)
ax.plot([-1, -1], [0, 2], [0, 0], 'k--', linewidth=1)
ax.plot([-1, -1], [2, 2], [0, -1], 'k--', linewidth=1)

# w
ax.quiver(0, 0, 0, 0, -1, 2, color='C2', arrow_length_ratio=0.1, label=r'$\vec{w}$')
ax.plot([0, 0], [-1, -1], [0, 2], 'k--', linewidth=1)
ax.plot([0, 0], [-1, 0], [2, 2], 'k--', linewidth=1)

# b
ax.quiver(0, 0, 0, 1, 0, 0, color='C3', arrow_length_ratio=0.2, label=r'$\vec{b}$', linewidth=3)

plt.legend()
ax.set_xlabel(r'$x$', fontsize='large')
ax.set_ylabel(r'$y$', fontsize='large')
ax.set_zlabel(r'$z$', fontsize='large')
ax.quiver(-3, 0, 0, 8, 0, 0, color='k', arrow_length_ratio=0.05) # x-axis
ax.quiver(0, -3, 0, 0, 8, 0, color='k', arrow_length_ratio=0.05) # y-axis
ax.quiver(0, 0, -3, 0, 0, 8, color='k', arrow_length_ratio=0.05) # z-axis

plt.show()

Этот код создает следующее изображение:

enter image description here

Как вы можетеувидеть ось у слева, а х справа.Есть ли способ для меня, чтобы переключить их?

Спасибо.

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