Plot Heatmap from distinct coordinates and data array of floats
显示 更早的评论
Hi,
I have an array of floats of size 200x2 where each row is the (x,y) coordinate of a specific point on the heatmap (x=column 1 and y=column 2). I also have an array of floats of size 1x200, which is the data I want to plot, I'll denote it as z. At each row of the coordinates array, the point (x,y) is associated with the value in z at the same index. I want to create a heatmap using this data.
I tried creating a meashgrid from the two columns of the coordinate array, but then I have this problem that z doesn't have the proper dimantions. I believe I need to create an array filed with zeros, and fill it with z values at the adequate coordinates, but than I have the problem that the coordinates are floats.
This is the code I used (which is of course problematic):
coords = load('grid_points.mat').array;
accuracies = load('test_accuracies.mat').array;
xcoord = coords(:,1);
ycoord = coords(:,2);
[X,Y] = meshgrid(xcoord,ycoord);
x = X(:); % Your varaible x should something like this as a column vector
y = Y(:); % Similar for variable y
z = accuracies(:); % Similar for variable z
tbl = table(x,y,z); % Combine them in a table
h = heatmap(tbl,'x','y','ColorVariable','z'); % Generate heat map
patial view of the coordinates array:

patial view of the data array:

I'd appreciate it if anyone could help me understand how can I overcome the fact that the coordinates array has floats in it (I don't want to convert it into integers, I want to keep it as floats if possible).
Thank you very much for your time and attention
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
