cross_from_above устарела в будущем matplotlib ... функция замены? - PullRequest
0 голосов
/ 15 ноября 2018

Похоже, что matplotlib устареет от функций cross_from_above и cross_from_below в следующей версии 3.1

Это позор, поскольку они являются очень полезными инструментами для «возврата индексов, когда одномерный массив пересекает порог сверху / снизу». См. Текущую документацию по адресу: https://matplotlib.org/api/mlab_api.html

Я не могу найти какое-либо обсуждение этого онлайн, поэтому задаюсь вопросом, есть ли функции замены, которые я должен использовать вместо этого для той же функциональности?

1 Ответ

0 голосов
/ 15 ноября 2018

Нет замены для этих функций. Но они не очень сложны. Вот буквальная копия исходного кода .

def cross_from_above(x, threshold):
    """
    return the indices into *x* where *x* crosses some threshold from above.
    """
    x = np.asarray(x)
    ind = np.nonzero((x[:-1] >= threshold) & (x[1:] < threshold))[0]
    if len(ind):
        return ind+1
    else:
        return ind

и

def cross_from_below(x, threshold):
    """
    return the indices into *x* where *x* crosses some threshold from below.
    """
    x = np.asarray(x)
    ind = np.nonzero((x[:-1] < threshold) & (x[1:] >= threshold))[0]
    if len(ind):
        return ind+1
    else:
        return ind

, где np равно numpy.

По сути, они оба содержат одну строку кода, которую легко скопировать или изменить в любом реальном случае использования.

...