¿Cómo puedo trazar una matriz 2D como una imagen con Matplotlib teniendo la escala y relativa a la potencia de dos del valor y?Cómo trazar una imagen con un eje y no lineal con Matplotlib usando imshow?
Por ejemplo, la primera fila de mi matriz tendrá una altura en la imagen de 1, la segunda fila tendrá una altura de 4, etc. (las unidades son irrelevantes) No es fácil de explicar con palabras así que mire esta imagen por favor (que es el tipo de resultado que quiero):
alt text http://support.sas.com/rnd/app/da/new/802ce/iml/chap1/images/wavex1k.gif
Como se puede ver la primera fila es 2 veces más pequeño que el de arriba, y así sucesivamente.
Para aquellos interesados en saber por qué estoy tratando de hacer esto:
que tienen una gama bastante grande (10, 700,000) de los flotadores, que representa la transformada wavelet discreta coeficientes de un archivo de sonido. Estoy tratando de trazar el escalograma usando esos coeficientes. Podría copiar la matriz x veces hasta que obtenga el tamaño de fila de la imagen deseada, pero la memoria no puede contener tanta información ...
-1: seleccionar qué tics aparecen en el eje y no resuelve la pregunta original. Con set_ticks(), el eje y permanece lineal, e imshow() aún dibuja la matriz linealmente. El póster original quiere "tamaño variable, píxeles rectangulares". – EOL
Es por eso que digo que los datos tuvieron que ser adaptados, aún vale la pena mencionarlos para los ejes en sí mismos. – RedGlyph
@EOL: ... y ahora con la trama correcta también. Entiendo lo que querías decir, pero a veces juntar piezas ayuda ;-) – RedGlyph