#matplotlib #aspect-ratio
#matplotlib #соотношение сторон
Вопрос:
Я пытаюсь изменить соотношение сторон графика символьного журнала с помощью matplotlib. Однако он выдает ошибку «UnboundLocalError: локальная переменная ‘aspect_scale_mode’, на которую ссылаются перед назначением».
Ниже приведена минимальная модификация официального примера графика символьного журнала, найденного по адресу https://matplotlib.org/2.0.1/examples/pylab_examples/symlog_demo.html
import matplotlib.pyplot as plt
import numpy as np
dt = 0.01
x = np.arange(-50.0, 50.0, dt)
y = np.arange(0, 100.0, dt)
fig = plt.figure()
ax = fig.add_subplot(111,aspect='equal')
plt.plot(x, np.sin(x / 3.0))
plt.xscale('symlog')
plt.yscale('symlog', linthreshy=0.015)
plt.grid(True)
plt.ylabel('symlog both')
plt.tight_layout()
plt.show()
Комментарии:
1. Тот факт, что вы получаете
UnboundLocalError
, является ошибкой. Здесь скорее можно было бы ожидать более полезного сообщения об ошибке. Но в более общем плане, каков ожидаемый результат «равного аспекта» в случае масштабов символьного журнала? Есть ли у вас четкое представление о том, что будет означать понятие «аспект» в таком случае?2. Я открыл проблему по этому поводу github.com/matplotlib/matplotlib/issues/13819 . Не стесняйтесь вносить свой вклад в то, каким, по вашему мнению, должен быть ожидаемый результат.
3. Спасибо за ответ. Ну, я просто хотел настроить соотношение сторон. Оно не обязательно должно быть «равным».
4. Да, это вопрос: что означает понятие «аспект» в таком случае? (Скажем, aspect = 2, как бы вы ожидали, что график будет выглядеть?)
5. Имеет ли это особое значение для symlog? Я ожидал, таким же образом, как и в случае с линейной осью, получить показатель соотношения сторон 2 при построении графика с диапазоном [-1, 1] x [-2, 2].