Увеличьте стрелки в графике Axis3Dquiver Matplotlib

Есть ли способ изменить длину отдельных стрелок на участке колчана?

Я создал сюжет, используя:

lines_to_draw = list of numpy 3d vectors xs, ys, zs = list of coordinates us, vs, ws = list of displacements fig = plt.figure() ax = fig.add_subplot(111, projection='3d') for line in lines_to_draw: ax.plot(line[:,0], line[:,1], line[:,2], color='green' ax.quiver(xs, ys, zs, us, vs, ws) 

Это выглядит так (оси выключены): Участок колчана

Проблема в том, что все стрелки выглядят одинаково. Документы предполагают, что это, вероятно, так (в частности, аргумент length ):

Axes3D.quiver (* args, ** kwargs) Запланируйте 3D-поле стрелок.

подписи вызовов:

колчан (X, Y, Z, U, V, W, ** kwargs) Аргументы:

X, Y, Z: координаты x, y и z расположения стрелок

U, V, W: вектор направления, на который указывает стрелка. Аргументы могут быть массивами или скалярами, если они могут быть переданы вместе. Аргументами могут быть также маскированные массивы. Если элемент в любом аргументе замаскирован, то соответствующий элемент колчана не будет отображаться.

Аргументы ключевого слова:

длина: [1.0 | float] Длина каждого колчана, по умолчанию 1.0, единица совпадает с осями

arrow_length_ratio: [0,3 | float] Отношение головы стрелки к колчану, по умолчанию 0.3. Любые дополнительные аргументы ключевых слов делегируются в LineCollection

Только для уточнения величина векторов отличается на 30 раз. Поэтому должна быть очень заметная разница.

One Solution collect form web for “Увеличьте стрелки в графике Axis3Dquiver Matplotlib”

Это будет возможно в следующей крупной версии MPL, см. Этот запрос на растяжение .

Hack: вы можете отредактировать соответствующие файлы MPL в вашей системе, см. Этот ответ.

Альтернативно: ax.quiver команду ax.quiver для каждой стрелки с индивидуальным атрибутом length . Это не очень эффективно, но в некоторых случаях это может помочь.

  • Масштабирование радиомаяков Matplotlib
  • Как построить линию (многоугольная цепь) с numpy / scipy / matplotlib с минимальным сглаживанием
  • Как сделать «более полные» стрелки оси с помощью matplotlib
  • Matplotlib: перемещение меток между тиками
  • Что такое «хорошая» палитра для расходящихся цветов в R? (или: можно ли вириди и магму объединить вместе?)
  • Как сохранить данные Dataframe / series Pandas в виде цифры?
  • Как изменить размер шрифта оси в графике matplotlib при рендеринге с использованием Latex?
  • Автоматическое обнаружение доступности дисплея с помощью matplotlib
  • Python - лучший язык программирования в мире.