# plot y Vs. X in heat-map plot

20 views (last 30 days)
sani on 16 Mar 2020
Commented: Cris LaPierre on 17 Mar 2020
Hi all,
How can I create a scattered heat-map? I tried to find an already build function but I couldnt make it work for some reason.
##### 2 CommentsShow 1 older commentHide 1 older comment
sani on 17 Mar 2020
I'm trying to color a scatter plot by the data density. something like this picture:

darova on 17 Mar 2020
Try this
x = rand(1000,1);
y = rand(1000,1);
R = 0.1; % circle radius
D = pdist2([x y],[x y]); % create combinations of distances
C = sum(D<R); % how mayn points inside circle
scatter(x,y,10,C,'fill')
colorbar

Cris LaPierre on 16 Mar 2020
Heatmap accepts inputs of xvalues and yvalues. You may also specify a color variable.
However, I don't know that I'd consider heatmaps a y vs x plot. If that is what you want, perhaps consider using scatter, which allows you to specify a size and color for your pairs.
There is also gscatter if you want to color your data by groupings.
##### 2 CommentsShow 1 older commentHide 1 older comment
Cris LaPierre on 17 Mar 2020
We have a geodensityplot function, but that expects lat/lon for x/y. If you have a way of representing the density numerically, you could use that number to color your data using gscatter, or to create contour levels with contour or contourf.
If you don't want to reinvent the wheel, you can also find some solutions in the file exchange. A quick search found these two:
You can also find some other approaches in this MATLAB Answer post as well as this one. It appears histogram2 or histogram3 are common solutions for this.