imshow: rótulos como qualquer função arbitrária dos índices de imagem
imshow
plota uma matriz contra seus índices de coluna (eixo x) e índices de linha (eixo y). Eu gostaria que os rótulos dos eixos não fossem índices, mas uma função arbitrária dos índices.
por exemplo. detecção de pitch
imshow(A, aspect='auto')
OndeA.shape == (88200,8)
no eixo x, mostra vários carrapatos por volta[11000, 22000, ..., 88000]
no eixo y, mostra a caixa de frequência[0,1,2,3,4,5,6,7]
O que eu quero é:
rotulagem do eixo x são normalizadas de amostras para segundos. Para um áudio de 2 segundos a uma taxa de amostragem de 44,1kHz, eu quero dois carrapatos[1,2]
.
rotulagem do eixo y é o tom como uma nota. Eu quero as etiquetas na nota do campo['c', 'd', 'e', 'f', 'g', 'a', 'b']
.
idealmente:
imshow(A, ylabel=lambda i: freqs[i], xlabel=lambda j: j/44100)