imshow: etykiety jako dowolne funkcje indeksów obrazu

imshow wykreśla macierz na podstawie indeksów kolumn (oś x) i indeksów wierszy (oś y). Chciałbym, aby etykiety osi nie były indeksami, ale arbitralną funkcją indeksów.

na przykład wykrywanie wysokości tonu

imshow(A, aspect='auto') gdzieA.shape == (88200,8)

na osi x pokazuje kilka znaczników na około[11000, 22000, ..., 88000] na osi y pokazuje pojemnik częstotliwości[0,1,2,3,4,5,6,7]

Chcę:

Etykietowanie osi X jest znormalizowane z próbek na sekundy. Aby uzyskać 2-sekundowe audio przy częstotliwości próbkowania 44,1 kHz, chcę mieć dwa tiki[1,2].

Etykietowanie osi Y to wysokość dźwięku jako nuty. Chcę etykiety w notatce na boisku['c', 'd', 'e', 'f', 'g', 'a', 'b'].

idealnie:

imshow(A, ylabel=lambda i: freqs[i], xlabel=lambda j: j/44100)

questionAnswers(1)

yourAnswerToTheQuestion