Unexpected error when plotting a bar chart

figure('Name','frequency of reduced category response by groups');
h = bar(mean_resp_bygroup([3,4,2,1],:)); %mean_resp_bygroup is a 4-by-2 double matrix
h.YLabel = 'Reduced Category Response';
h.DisplayName = {'OR','XOR'}; %legend labels
h.XTickLabels = {'W','X','Y','Z'};
legend();
title('Frequency of Reduced category response');
I get this error message: Expected one output from a curly brace or dot indexing expression, but there were 2 results.
I suspect that has something to do with how the function bar works in the background. Anyone has any idea how to solve this issue?

4 commentaires

jonas
jonas le 6 Juil 2020
What line is the error referring to?
Mingjia Hu
Mingjia Hu le 6 Juil 2020
h.YLabel = 'Reduced Category Response'
jonas
jonas le 6 Juil 2020
then I suspect that is where the error is ;)
Mingjia Hu
Mingjia Hu le 6 Juil 2020
Now I get this error:
Error setting property 'YLabel' of class 'Axes':
Value must be 'matlab.graphics.Graphics'.

Connectez-vous pour commenter.

 Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 6 Juil 2020
Modifié(e) : Fangjun Jiang le 6 Juil 2020

0 votes

because your data is 4x2, h is an 1x2 array so you can't use h.YLabel. Check the value of h
You have to use h(1).YLabel but then 'YLabel' is not a valid property

6 commentaires

Mingjia Hu
Mingjia Hu le 6 Juil 2020
Then how can I add a Y label for the whole figure?
ax = gca;
ax.YLabel = 'blabla'
Mingjia Hu
Mingjia Hu le 6 Juil 2020
Now I get this error:
Error setting property 'YLabel' of class 'Axes':
Value must be 'matlab.graphics.Graphics'.
'YLabel' is a property of the axes.
f=figure;
a=axes;
h=bar(rand(4,2));
a.YLabel.String='Reduced Category Response'
legend({'OR','XOR'})
jonas
jonas le 6 Juil 2020
Sorry, I always forget the .String field :)
Mingjia Hu
Mingjia Hu le 6 Juil 2020
Thank you guys. Problem solved!

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by