2012-10-12 14 views
11

Sto provando a creare una mappa di calore usando MATLAB, ma la funzione predefinita nel programma MATLAB non ha alcun senso per me.Mappa di calore MATLAB

http://www.mathworks.com/help/bioinfo/ref/heatmap.html

c'è qualcuno che mi può aiutare con l'etichettatura prima, in modo che posso leggere attraverso l'altro me stesso funzione dopo? O c'è qualche altro programma che avrà un'interfaccia più user-friendly?

HeatMap(Data, ...'RowLabels', RowLabelsValue, ...) 

Ho un insieme di dati di una matrice 81*2 e mia etichetta è una cella 81*1 per asse xe 1*2 per y. Ora posso importare con successo i dati excel e tracciare i dati utilizzando una mappa di calore, ma ho difficoltà a compilare la variabile nella funzione HeatMap.

Grazie mille.

+1

HeatMap riceve dati che sono una matrice. Se ti capisco correttamente, hai solo le coordinate della matrice (x, y). prova prima a costruire una matrice dalle tue coordinate x-y. – bla

+0

Vuoi dire che vuoi una mappa termica che è stata raggruppata? – Bitwise

risposta

2

Non sono sicuro di cosa stia effettivamente cercando di realizzare, ma penso che potresti voler usare colormap{}. Se stai cercando di creare un classico "heatmap", la mappa dei colori è la funzione che desideri. Fondamentalmente, se hai la posizione x, y, e un valore Z che vuoi rappresentare come colore, questo è il trucco per te.

26

HeatMap non è in realtà una funzione standard, proviene dal Toolbox di Bioinformatica. Il modo più semplice di disegnare una mappa termica potrebbe essere come:

A = 1:50;   % matrix to draw 
colormap('hot'); % set colormap 
imagesc(A);  % draw image and scale colormap to values range 
colorbar;   % show color scale 

Come @natan suggerito, si potrebbe desiderare di costruire la vostra matrice prima e poi disegnare utilizzando image o imagesc. Inoltre, non vuoi vedere l'articolo sul mio blog che mostra che some color sets are better for accessibility than others, ad es. per la stampa in scala di grigi o in mancanza di visione a colori.

+0

Semplice ed elegante, adorabile! – Gerard

0

È possibile utilizzare l'API Plotly MATLAB per creare una heatmap. Prova questo:

r = plotly({struct('z',randn(50,50), 'type','heatmap')}) % => https://plot.ly/~matlab_example/18dos(['open ', r.url]) 

this heatmap

È possibile visualizzare la versione interattiva e l'installazione here.

Divulgazione, sono nella squadra di Plotly.

Problemi correlati