2012-10-12 6 views
11

Ich versuche, eine Heatmap mit MATLAB zu erstellen, aber die Standardfunktion im MATLAB-Programm hat für mich keinen Sinn.MATLAB Heat Map

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

Gibt es jemand, mir zum ersten Mal mit Kennzeichnung helfen kann, so dass ich durch die andere Funktion selbst danach lesen kann? Oder gibt es ein anderes Programm mit einer benutzerfreundlicheren Benutzeroberfläche?

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

Ich habe einen Datensatz einer 81*2 Matrix und mein Label ist ein 81*1 Zelle für x-Achse und 1*2 für y-Achse ist. Jetzt kann ich die Excel-Daten erfolgreich importieren und die Daten mit einer Heatmap darstellen, aber es ist schwierig, die Variable in der HeatMap-Funktion zu füllen.

so vielen Dank.

+1

HeatMap erhält Daten, die eine Matrix ist. Wenn ich dich richtig verstehe, hast du nur die (x, y) Matrixkoordinaten. Versuchen Sie zunächst, eine Matrix aus Ihren x-y-Koordinaten zu erstellen. – bla

+0

Meinst du, du willst eine Heatmap, die geclustert wurde? – Bitwise

Antwort

2

Ich bin mir nicht sicher, was Sie eigentlich erreichen möchten, aber ich denke, Sie möchten vielleicht colormap{} verwenden. Wenn Sie versuchen, einen klassischen "heatmap" zu erstellen, dann ist Colormap die gewünschte Funktion. Wenn Sie eine x-, y-Position und einen Z-Wert haben, den Sie als Farbe darstellen möchten, ist das der Trick für Sie.

26

HeatMap ist eigentlich keine Standardfunktion dafür, es stammt aus der Bioinformatik Toolbox. Der einfache Weg, um eine Heatmap der Zeichnung könnte wie sein:

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

Als @natan vorgeschlagen, möchten Sie vielleicht Ihre Matrix zuerst bauen und dann mit image oder imagesc ziehen. Sie möchten auch Artikel in meinem Blog sehen, der zeigt, dass some color sets are better for accessibility than others, z. zum Drucken in Graustufen oder bei Farbfehlsichtigkeit.

+0

Einfach und elegant, schön! – Gerard

0

Sie können die API Plotly MATLAB verwenden, um eine Heatmap zu erstellen. Versuchen Sie folgendes:

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

this heatmap

Sie die interaktive Version sehen und Installation here.

Offenlegung, ich bin auf dem Plotly-Team.