Как вы выровняете сетку с рамками изображений в matplotlib? - PullRequest
1 голос
/ 02 апреля 2020

в matplotlib Я хотел бы использовать y-шкалу, которая равномерно распределена, хотя значения не являются линейными, возможно ли это? Мне нужно это, чтобы выровнять сетку по графику банка фильтров с нелинейными частотами. Спасибо.

Гийом

Ответы [ 2 ]

0 голосов
/ 04 апреля 2020

на всякий случай, если кому-то интересно, вот последний код, который добился цели (в Python):

_freq = array of nonlinear values
_Ymin, _Ymax, _Ystep = (0, 5000, 10)
_Ymin = np.abs(_freq - _Ymin).argmin()
_Ymax = np.abs(_freq - _Ymax).argmin()
plt.ylim([_Ymin, _Ymax +1])
_yticks = np.arange(_Ymin, _Ymax +1, _Ystep)
plt.yticks(ticks= _yticks, labels= _freq[_yticks])
0 голосов
/ 02 апреля 2020

Да, это возможно. Возможно, самый простой способ - установить места для галочек вручную. Например, если у вас есть логарифмическая c ось y, но вы все еще хотите, чтобы сетка выглядела равномерно, вы можете сделать это:

matplotlib.pyplot.yticks([1, 10, 100], labels=['one', 'a few', 'a lot'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...