График колчана не подстраивается под размер стрелыPython

Программы на Python
Ответить
Anonymous
 График колчана не подстраивается под размер стрелы

Сообщение Anonymous »


Как видно, например, здесь: Как отключить масштабирование колчана matplotlib?

при использовании колчана matplotlib.pyplots для рисования стрелок стрелки часто указывают за пределы изображения. Похоже, что график адаптируется только к начальной точке (аргументы X, Y функции quiver()) и не учитывает протяженность реальных стрелок. Есть ли простой способ изменить масштаб осей, чтобы включить всю стрелку?

Мне известны plt.xlim(..., ...) , plt.ylim(..., ...) или Axes.set_xlim/Axes.set_ylim; Я подумал, может быть, есть глобальная команда (например, команда плотного макета), позволяющая включить все точки в видимую часть графика (возможно, все графики сразу)?

Обновление, так как кому-то не понравился вопрос: попытка добавить то, что предложил @Mathieu, к примеру, на который я ссылаюсь, похоже, не работает:

импортировать matplotlib.pyplot как plt импортировать numpy как np pts = np.array([[1, 2], [3, 4]]) end_pts = np.array([[2, 4], [6, 8]]) diff = end_pts - точки plt.quiver(pts[:,0], pts[:,1], diff[:,0], diff[:,1], angulars='xy', Scale_units='xy', масштаб=1.) Мы получаем изображение с одной стрелкой, направленной наружу:
Изображение


Включение ограниченного макета:

импортировать matplotlib.pyplot как plt импортировать numpy как np plt.rcParams['figure.constrained_layout.use'] = Истина pts = np.array([[1, 2], [3, 4]]) end_pts = np.array([[2, 4], [6, 8]]) diff = end_pts - точки plt.quiver(pts[:,0], pts[:,1], diff[:,0], diff[:,1], angulars='xy', Scale_units='xy', масштаб=1.) Это приводит к уменьшению полей, но не влияет на диапазоны осей:
Изображение

Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»