Установить размер стрелки на основе единиц измерения вместо единиц данных оси?Python

Программы на Python
Ответить
Anonymous
 Установить размер стрелки на основе единиц измерения вместо единиц данных оси?

Сообщение Anonymous »

Есть ли в matplotlib способ указать размеры наконечников стрелок в единицах рисунка, а не в единицах данных?
Сценарий использования: я создаю многопанельную фигуру, в которой каждая панель имеет разный размер оси (например, одна идет от 0 до 1 по оси X, а следующая — от 0 до 10). Я бы хотел, чтобы стрелки на каждой панели отображались одинаковыми. Я также хотел бы, чтобы стрелки выглядели одинаково независимо от направления.
Для осей с соотношением сторон, не равным 1, ширина хвоста (и, следовательно, размер головы ) меняется в зависимости от направления.
Наиболее близкий вариант — после рисования на холсте:

Код: Выделить всё

dx = ax.get_xlim()[1] - ax.get_xlim()[0]
for arrow in ax.patches:
arrow.set_data(width=dx/50)
но это не работает; в результате получаются такие изображения:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/750 ... data-units
Ответить

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

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

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

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

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