Making a heat map from three vectors of different lengths

16 visualizaciones (últimos 30 días)
ct8
ct8 el 14 de Nov. de 2022
Editada: ct8 el 17 de Abr. de 2024
From a set of three vectors (x,y,z), I want to generate a heat map of x,y and z where the color bar would denote z-values.Perhaps this answer was relevant https://www.mathworks.com/matlabcentral/answers/105390-making-a-heat-map-from-three-vectorsBut it was erased from the database. Thanks!
  1 comentario
Adam Danz
Adam Danz el 14 de Nov. de 2022
That answer was added in 2013 but matlab's heatmap came out in 2017. However, the bioinformatics Toolbox has a function HeatMap that has been available since 2009. My answer shows how to use the newer heatmap function. Note that you could also use imagesc to create a similar plot.

Iniciar sesión para comentar.

Respuesta aceptada

Adam Danz
Adam Danz el 14 de Nov. de 2022
Editada: Adam Danz el 14 de Nov. de 2022
In heatmap, XData define the number of columns and YData define the number of rows. Your matrix y is 21x10 meaning there will be 21 rows and 10 columns.
load('matlab.mat');
heatmap(z,x,y)
If you want there to be 10 rows and 21 columns,
figure
heatmap(x,z,y'); % note the transpose on y
How to remove cell labels
The examples above do not show the cell labels because the axes are too small given the number of cells but to remove the cell labels,
h = heatmap(__)
h.CellLabelColor = 'none';
Alternative: imagesc
Another option is to use imagesc but note
  • The direction of the y-axis differs between heatmap and imagesc
  • imagesc sorts the x and y values
Yet another alternative is to use histogram2.
figure()
imagesc(z,x,y)
% reproduce heatmap's colormap
n=256;
cmap = [linspace(.9,0,n)', linspace(.9447,.447,n)', linspace(.9741,.741,n)'];
colormap(cmap);
axis xy
colorbar()
  3 comentarios
Adam Danz
Adam Danz el 14 de Nov. de 2022
See updated answer.
ct8
ct8 el 14 de Nov. de 2022
Neat! Thanks a lot!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Distribution Plots en Help Center y File Exchange.

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by