Contour map from hist3()?

12 views (last 30 days)
Sandy
Sandy on 14 Jun 2013
Commented: natprice on 5 Mar 2015
Contour map from hist3()?

Accepted Answer

Kelly Kearney
Kelly Kearney on 14 Jun 2013
Supply output variables to hist3:
[n,c] = hist3(X, [10 10]);
contour(c{1}, c{2}, n);
  3 Comments
Berks
Berks on 21 Oct 2014
Correction - it should be c{2} before c{1}:
contour(c{2}, c{1}, n)
not sure why - just that it works correctly this way, at least in R2013a.
natprice
natprice on 5 Mar 2015
Correction - it should be the transpose of n
contour(c{1}, c{2}, n.');
Example:
set(gcf,'renderer','opengl');
mu = [2 3];
SIGMA = [1 1.5; 1.5 3];
rng default; % For reproducibility
r = mvnrnd(mu,SIGMA,100);
xb = linspace(min(r(:,1)),max(r(:,1)),20);
yb = linspace(min(r(:,2)),max(r(:,2)),20);
[xx,yy]=meshgrid(xb,yb,20);
[n,c]=hist3(r,{xb yb});
figure()
hold on
plot(r(:,1),r(:,2),'m+')
contour(xx, yy, n.')
hist3(r,{xb yb},'FaceAlpha',.1);
view(3)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!