How to insert a line over a heatmap using code?

How can I insert a line over a heatmap in my code? I would rather not use the figure tools manually because I have to do multiple lines.

Réponses (3)

Robert U
Robert U le 15 Juin 2018
Hi Samantha Clayton:
Since I do not know your code I can only demonstrate in the following example how to draw a vertical and a horizontal line into a contourf-plot (assuming you mean something like that).
Z = peaks(20);
ah = axes;
h = contourf(Z,10,'Parent',ah);
hold(ah,'on')
plot(ah,[0 25],[10 10],'white') % horizontal line
plot(ah,[10 10],[0 25],'white') % vertical line
ah.XLim = [2 20];
ah.YLim = [2 20];
There is a HeatMap-Command in Bioinformatics toolbox, so I do not know whether same strategy is working for that.
Kind regards,
Robert

3 commentaires

New MATLAB also have heatmap().
Not working with Heatmap finction in MATLAB 2018b

Connectez-vous pour commenter.

Since the thread has be re-activated:
Here, a solution for heatmap tested in Matlab 2021b.
T = readtable('outages.csv');
h = heatmap(T,'Region','Cause');
% sloppy red line
annotation("line",[0.2 0.8],[0.2 0.8],"Color","red",'LineWidth',2)
% 2nd row horizontal line
plotLineThroughRowNr = 2;
nRow = numel(h.YData);
rowWidth = (h.InnerPosition(4))/(nRow);
lineYCoord = (nRow-plotLineThroughRowNr+0.5)*rowWidth + h.InnerPosition(2);
annotation("line",[h.InnerPosition(1) h.InnerPosition(1)+h.InnerPosition(3)],[lineYCoord lineYCoord],"Color","yellow",'LineWidth',2)
% 3rd column vertical line
plotLineThroughColumnNr = 3;
nColumn = numel(h.XData);
columnWidth = (h.InnerPosition(3))/(nColumn);
lineXCoord = (nColumn-plotLineThroughColumnNr+0.5)*columnWidth + h.InnerPosition(1);
annotation("line",[lineXCoord lineXCoord],[h.InnerPosition(2) h.InnerPosition(2)+h.InnerPosition(4)],"Color","magenta",'LineWidth',2)
Ahmed
Ahmed le 27 Août 2024

0 votes

Use MATLAB's imagesc instead of heatmap

Catégories

En savoir plus sur Data Distribution Plots dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by