How to add: min, max, mean, median, st dev values to histogram legend

51 views (last 30 days)
I would like to add information about min, max, mean, median, and st dev to the histogram. I tried to do this using the following script:
% Import data
A = importdata('C:\my_data.tif');
% Generate histogram
histogram(A,'BinLimits',[0,1000]);
% Calculate the min, max, mean, median, and standard deviation
min=min(A);
max=max(A);
mn=mean(A);
md=median(A);
stdv=std(A);
% Create the labels
minlabel=sprintf('Min -- %3.2d', min);
maxlabel=sprintf('Max -- %3.2d', max);
mnlabel=sprintf('Mean -- %3.2d', mn);
mdlabel=sprintf('Median -- %3.2d', md);
stdlabel=sprintf('Std Deviation -- %3.2d', stdv);
% Create the textbox
h=annotation('textbox',[0.58 0.75 0.1 0.1]);
set(h,'String',{minlabel, maxlabel,mnlabel, mdlabel, stdlabel});
However, every time when I run the script the last line of the script crushed in Matlab (see attached message). Does anyone know how to solve the error? Or is there another way to add min, max info to the histogram? Thanks in advance for the answer.

Answers (2)

Sean de Wolski
Sean de Wolski on 6 Jul 2015
I'd contact tech support if the crash is reproducible.
A minimal working example works for me:
histogram(rand(100,1))
annotation('textbox','String',{'hello', 'world'})

Karolina
Karolina on 6 Jul 2015
Edited: Karolina on 6 Jul 2015
Thank you for the answer. Yes, the error, unfortunately, occurs every time.
Your script works well, but I have to generate a lot of histograms, so I would like to have the possibility to add the min, max, mean, median, stdv values automatically instead of typing them every time manually. Is there a way to do this?
  4 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by