thanks for the suggestion. Histcounts2 worked perfectly. Only issue is that the routine gives the edge positions of each bin as two vectors, and then an array of intensities, so you end up with 1 more position in each vector than histogram bins along each axis. I averaged adjacent bin edge positions, so this gives the same number of positions in the x-y vectors as values in the x-y array. Then you can use mesh or surface to view the density plot. Many thanks for the help.
how do I convert scatter data into a density plot
206 views (last 30 days)
Show older comments
I have scatter data in an x and y array. Using Scatter this produces dots at the x,y coordinate.
How do I convert this to a density map (I will have many more points). I could do this by splitting the space into a number of bins of a defined size and then count the number of points that fell inside each, then I would have x',y',z data, but there must be a Matlab function for this
Typical scatter plot is
Accepted Answer
Diya Tulshan
on 4 Jul 2023
Hii Howard Padmore,
I understand that you want to know about the MATLAB function to convert scatter data into density plot.
Kindly refer to the following documents for implementing the plot:-
0 Comments
More Answers (2)
Nikhil
on 4 Jul 2023
Hey Howard,
After searching about your issue and I think that density plots using hist3 and contourf will be helpful.
0 Comments
Emma Farnan
on 1 Mar 2024
Depending on how close your points are and their original size, you could just use the additive opacity from MarkerFaceAlpha to give some intuition of the density.
x = randn(10000,1);
y = randn(10000,1);
figure; s = scatter(x,y,'filled','MarkerFaceAlpha',0.05);
Or alternatively, you could get a smoother version of the the histograms by using kernel density estimation (ksdensity) to predict the probability distribution. The example page shows how it can be used to plot a 3D meshgrid of the point density.
0 Comments
See Also
Categories
Find more on Data Distribution Plots 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!