Plot in matlab con limiti diversi di colori colorbar/colormap

Messaggioda Alban Kita » 17/04/2019, 17:46

Salve a tutti.

Sto cercando di plottare con imagesc una matrice su matlab e ho bisogno del vostro aiuto.

Il mio codice è il seguente:

load Corr_matrix_IMS_All_Riordinato_Uncorrelated.txt

Valore_vect=min(Corr_matrix_IMS_All_Riordinato_Uncorrelated);
Min_matrix=min(Valore_vect);
Valore_vect_max=max(Corr_matrix_IMS_All_Riordinato_Uncorrelated);
Max_matrix=max(Valore_vect_max);

imagesc(Corr_matrix_IMS_All_Riordinato_Uncorrelated)
colormap(gray(4))
colorbar
caxis([Min_matrix Max_matrix]);

Metto in allegato la figura che ottengo dal codice.

Il problema che riscontro riguarda i limiti dei colori. Mettendo 4 colori, matlab equispazia tra il valore minimo (circa -1.55) e valore massimo (1).

Io vorrei mettere quattro colori in scala di grigio nei seguenti intervalli: da -0.55 a 0; da 0 a 0.5; da 0.5 a 0.9; da 0.9 a 1.

Purtroppo sto tribolando da 2 giorni e spero in un vostro aiuto.

Grazie mille in anticipo.

Immagine
Alban Kita
Starting Member
Starting Member
 
Messaggio: 1 di 1
Iscritto il: 17/04/2019, 17:42


Re: Plot in matlab con limiti diversi di colori colorbar/colormap

Messaggioda Bbach » 18/04/2019, 11:50

Confermo che il modo più veloce per ottenere il risultato rchiesto è usare il colormapeditor.

Ti mostro un esempio di quello che si può fare
Codice:
surf(peaks)
colormap(gray(100))
colorbar

Osserva che non ho diviso l'intervallo di colori in 4 parti ma in un numero elevato di parti.

Digito colormapeditor nella command window.

Ora aggiungo delle tacche per creare gli intervalli voluti. Nota bene che la tacca memorizza il colore in cui è stata creata.
Quindi creo una tacca subito a destra della prima tacca nera e la trascino fin dove voglio per creare il primo intervallo. Poi creo una tacca subito a destra di questa e la trascino e così via.
Bbach
Starting Member
Starting Member
 
Messaggio: 23 di 23
Iscritto il: 09/03/2019, 22:00


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti