MATLAB: I want to plot a line over a bar graph that shows a smooth distribution and display the mean, median, and range of the data.

graphoverlayplot

First, how do I overlay information on a plot. I want to give the mean, median and range of a distribution inside the axes figure.
Also, how do I overlay a smooth line over my bar graph to give a more visually appealing view of the distribution?

Best Answer

You can use hold on to overlay plots (scaling factors 300, 150, 125 chosen to arbitrarily);
A = randn(1000,1);
hist(A)
hold on
x = linspace(-4,4);
plot(x,exp(-x.^2)*300,'r')
plot(meanA,150,'kd');
plot(medianA,150,'ko');
plot([min(A),max(A)],125,'ko');
Also, naming variables after functions (min = min(A)) is bad form.