MATLAB: How to plot the brightness lines in Matlab, as this picture

figureheatmaplinemappingplot

Higher dense the path, higher brighness shown on the figure.

Best Answer

If you have an image, that starts out as all zeros, and a set of coordinates that define where the lines go, you can simply add 1 to the image everytime you encounter one of those coordinates. Like if you have a set of (x,y) coordinates of a line (perhaps use Bresenham's line algorithm ) then do this
heatmapImage = zeros(rows, columns)
for k = 1 : length(x)
row = round(y(k));
col = round(x(k));
% Don't let go outside image.
if row > rows
row = rows;
end
if col > columns
col = columns;
end
if row < 1
row = 1;
end
if col < 1
col = 1;
end
% Increment the value.
heatmapImage(row, col) = heatmapImage(row, col) + 1;
end
Repeat that for every set of x,y data you have, then display the resulting image:
imshow(heatmapImage, []);
colormap(jet(256));
colorbar;
Related Question