MATLAB Answers

Alfonso

Adding Labels to a bar graph

Asked by Alfonso
on 27 Jul 2011

Hey everyone, I am a student learning how to use matlab. I cannot find out to add labels to my bar graphs in my text or matlab's help section.

currently my code is:

bar(years,per_year_growth)
title('Total forest')
xlabel('Years')
ylabel('Acres Per Year')

This works for most plots but not the bar graph. Any help is appreciated. Thanks.

EDIT:

Posting my full program so this is easier to understand.

years=0:20;
total_forest = zeros(21,1);
per_year_growth = zeros(21,1);
total=14000;
uncut=2500;
rate=0.02;
output = zeros(3,21);
total_forest(1) = uncut;
for n = 1:20
    total_forest(n+1) = uncut*((1+rate)^n);
end
per_year_growth(1) = 0;
for n = 1:20
    per_year_growth(n+1) = total_forest(n+1) - total_forest(n);
end
output(1,:) = years;
output(2,:) = total_forest;
output(3,:) = per_year_growth;
disp('Years      Total Acres       Acres Grown Per Year')
fprintf('%f     %f      %f\n',output)
bar(years,per_year_growth)
title('Total forest')
xlabel('Years')
ylabel('Acres Per Year')

The specific error I get is:

??? Index exceeds matrix dimensions.
Error in ==> hmwk9_pace at 69
xlabel('Years')

Line 69 is "xlabel('Years')" w/o quotes of course.

  2 Comments

Fangjun Jiang
on 27 Jul 2011

What do you mean?

the cyclist
on 27 Jul 2011

The full code you posted works perfectly well for me. I suggest you try restarting MATLAB, and see if that helps.

Also, maybe try "which xlabel" to make sure you don't have some function of your own lurking somewhere, that you defined. The function should be in your_matlab_directory/toolbox/matlab/graph2d/xlabel.m

Products

No products are associated with this question.

3 Answers

Answer by Fangjun Jiang
on 27 Jul 2011

I ran your code without any problem. The error message indicates that you might have a variable called xlabel. Check your worksapce.

>> xlabel=1:10
xlabel =
     1     2     3     4     5     6     7     8     9    10
>> xlabel('Years')
??? Index exceeds matrix dimensions.
>> which xlabel -all
xlabel is a variable.
C:\Program Files\MATLAB\R2010b\toolbox\matlab\graph2d\xlabel.m  % Shadowed 

  0 Comments


Answer by the cyclist
on 27 Jul 2011

This worked for me:

years = rand(3,4);
bar(years)
title('Total forest')
xlabel('Years')
ylabel('Acres Per Year')

  0 Comments


Answer by Paulo Silva
on 27 Jul 2011

I works just fine, you might be doing something else that's affecting the axes, try to run it after

cla reset

Also try this code

x = -2.9:0.2:2.9;
bar(x,exp(-x.*x),'r')
title('Total forest')
xlabel('Years')
ylabel('Acres Per Year')

  0 Comments


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today