Решение задачи двух осей и четырех графиков всем хорошо, кроме как внешним видом - графики получились маленькие:
Варианта разрешить этот недостаток ровно два - явно поменять размер графиков или использовать магические (magic) команды. Рассмотрим их по порядку.
Чтобы изменить размер графика надо изменить параметр figsize у холста.
Если делать это без сохранения объекта холста ( figure ) то вызов будет такой:
plt.rcParams["figure.figsize"] = [10,6]
Здесь я изменил размеры по горизонтали и вертикали на 10 и 6 соответственно, когда по умолчанию эти размеры 6.4 и 4.8.
В случае использования объекта холста можно сделать это прямо при вызове subplots вот так:
fig, ( ax_up, ax_btm) = plt.subplots(2,1,figsize=(10,6))
Делать это надо до вызовов рисования. Результат будет один и тот же - график увеличится в размерах:
Эмпирическим путем можно подобрать нужный размер графика.
Второй способ подразумевает использование магических команд, которые начинаются с символа процента, для указаний работы реализации. Для библиотеки Matplotlib они начинаются так:
%matplotlib [что-то тут]
Два основных варианта это inline и notebook, то есть так:
%matplotlib inline
%matplotlib notebook
Случай inline - это как если бы мы ничего не указывали - неинтерактивный график. Нужен разве что если мы использовали notebook и хотим вернуться обратно.
А вот notebook добавляет интерактивности:
Внизу справа ( на нее показывет красная стрелка ) - символ в виде треугольника - это для изменения размеров - если на на него встать, нажать мышь и двигать, то размер будет меняться.
Внизу слева - меню управления.
Слева направо:
- Символ в виде дома - вернуться к исходному отображению ( Home )
- Стрелка влево - вернуться на шаг изменения назад ( Back, аналог Undo )
- Стрелка вправо - сделать изменени вперед ( после возравщения на шаг назад, Forward, аналог Redo )
- Крест со стрелками - смещение ( Pan )
- Пустой квадрат - масштаб ( Zoom )
- Символ дискеты - сохранить изображение ( Download )
Изменение размеров и меню слева работают незвисимо - то есть после изменения размера кнопка назад не вернет его предыдущее значение.
У левого меню основные операции это смещение и масштаб - их можно отменять или возвращать.
Для изменения масштаба надо выбрать прямоугльник и пойти на нужный график - там курсор превратится в крестик, можно выбрать прямоугольную область и она будет показана во весь график:
Вот график после такого масштабирования:
При помощи сдвига можно сдвинуть график к интересующей его части - тогда курсор меняется на руку и при удержании кнопки мыши и ее перемещении двигается и сам график:
В обоих случаях - масштаба и сдвига - значения осей автоматически меняются. Стрелками влево/вправо можно двигаться между приложенными изменениями отображения, а при нажатии на домик - вернуться к оригинальному.
Сохранение изображения оиткрывает картинку в новой вкладке в браузере и его можно сохранить как файл. Одноко оно работает с ошибками - прямо после масштабирования и/или сдвига картинка показывается криво:
Исправить это можно слегка изменив размер картинки иконкой справа и снова нажав сохранение:
Таким образом в режиме notebook можно интерактивно просматривать более детально части графиков, хотя он и отстает от возможностей Plotly.
Дополнительно можно посмотеть информацию тут Using matplotlib in jupyter notebooks - comparing methods and some tips
No comments:
Post a Comment