Matplotlib установить общую ось
Используя matplotlib, кажется, что единственный раз установить параметры оси sharex
или sharey
во время создания sub_plot (add_subplot()
, subplot()
, subplots()
). Для класса axes
существуют методы получения совместного использования осей (get_shared_x_axes()
, get_shared_y_axes()
), но нет соответствующих методов для настройки совместного использования. Возможно, это надзор API, или, возможно, это не соответствовало архитектурным требованиям.
Есть ли способ изменить параметр общей оси?
Для тех, кто спрашивает, почему: я использую матрицу графиков динамически и могу контролировать это с помощью ограничений вида, но похоже, что может быть более простой способ, и включение/выключение совместного использования и использование автомасштаба он.
Спасибо.
Ответы
Ответ 1
Ответ заключается в том, что способ, которым разделены общие оси, заключается в том, чтобы поделиться некоторым внутренним состоянием двух осей. Трудно получить право, и код, чтобы сделать это "на лету" (как связывание, так и разблокировка), еще не существует в библиотеке.
См. PR для непрерывной работы над одинарными осями. Помощь по тестированию и разработка этой функции будет оценена.
Ответ 2
Просто упомянем, что метод разделения осей после их создания уже существует. Для двух осей ax1
и ax2
вы можете использовать
ax1.get_shared_x_axes().join(ax1, ax2)
См. Как распределить ось x двух подзаговоров после их создания?.