Plotting a heat map using surf function

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 个评论

Please attach the data you are working with.
Hi Dyuman,
I attached the image I am working on and here is my code:
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, 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)
Yes you are right. Because in this code I used log(F+1) instead of F in calling surf function. But the problem is the same. Sorry I forgot to mention it.
I ran the code again and plotted some data tips, and the output is still different from what you got.
Check the image attached.
That's fine.
Thanks for your time and consideration

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Graphics Performance 的更多信息

产品

版本

R2023a

标签

提问:

2023-9-29

评论:

2023-10-3

Community Treasure Hunt

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

Start Hunting!

Translated by