Plotting a heat map using surf function
Show older comments
I have a 2D matrix and I want to plot a heat map. I use the following codes:
fig = surf(X,Y,F);
set(fig,'linestyle','none')
view(2)
But it displays just a plan entirely blue despite the large difference between Z values as shown in image below. How can I fix this issue?

6 Comments
Dyuman Joshi
on 29 Sep 2023
Please attach the data you are working with.
@Roohollah, The plot obtained here is different compared to the one you have attached above.
clc
clear
f = imread('img.jpg');
f = im2gray(f);
f = rescale(f);
F = fft2(f);
F = abs(F);
x = (0 : size(f,2) - 1)';
y = (0 : size(f,1) - 1)';
[X, Y] = meshgrid(x,y);
fig = surf(X,Y,log(F+1));
set(fig,'linestyle','none')
view(2)
Roohollah
on 2 Oct 2023
Dyuman Joshi
on 2 Oct 2023
I ran the code again and plotted some data tips, and the output is still different from what you got.
Check the image attached.
Roohollah
on 3 Oct 2023
Answers (0)
Categories
Find more on Graphics Performance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
