Есть ли способ установить размер стрелки колчана, например, `head_width` в` ax.arrow`? - PullRequest
2 голосов
/ 07 июля 2019

Этот вопрос возник из этой записи . Я пытаюсь построить трехмерное векторное пространство типа this

вот код

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

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.quiver(0, 0, 0, 0, 1, 0)
ax.quiver(0, 0, 0, 1, 0, 0)
ax.quiver(0, 0, 0, 0, 0, 1)
ax.quiver(0, 0, 0, 1, 1, 1)
ax.quiver(0, 0, 0, 0, 3, 0, color='y', alpha=0.5)
ax.quiver(0, 0, 0, 3, 0, 0, color='r', alpha=0.9)

limt = 2
ax.set_xlim([-limt, limt])
ax.set_ylim([-limt, limt])
ax.set_zlim([-limt, limt])

ax.set_xlabel('x_axis')
ax.set_ylabel('y_axis')
ax.set_zlabel('z_axis')

xx, yy = np.meshgrid(np.arange(0,2,.2), np.arange(0,2,.2))
zz = np.zeros((10,10))
ax.plot_surface(xx, yy, zz, alpha=0.5)

# ax.axis("off")
plt.show()

, который производит эту цифру.

enter image description here

Правая красная стрелка слишком большая, есть ли способ установить ее размер, например head_width в ax.arrow?

все headlength, headwidth, width получить ошибку, AttributeError: Unknown property headwidth, поэтому ни , , * , не работают для этой проблемы.

1 Ответ

2 голосов
/ 07 июля 2019

arrow_length_ratio может удовлетворить ваши потребности.

ax.quiver(0, 0, 0, 3, 0, 0, color='r', alpha=0.9, 
 arrow_length_ratio=0.1)

enter image description here

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