Contour map from hist3()?

 Accepted Answer

Supply output variables to hist3:
[n,c] = hist3(X, [10 10]);
contour(c{1}, c{2}, n);

3 Comments

Sandy
Sandy on 14 Jun 2013
Perfect! Thanks!
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.
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)

Categories

Asked:

on 14 Jun 2013

Commented:

on 5 Mar 2015

Community Treasure Hunt

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

Start Hunting!