Selecting categorical variable range to plot on bar graph

조회 수: 6 (최근 30일)
Nex
Nex 2021년 9월 29일
댓글: Nex 2021년 10월 4일
I don't understand why the categorical data is shown in its entirety on the graph despite only a portion of it being selected.
Am I indexing it wrongly?
C = categorical({'A'; 'B'; 'C'; 'D'; 'E'; 'F'});
N = [5 4 2 3 4 8];
bar(C(3:end), N(3:end))
  댓글 수: 2
Siddharth Bhutiya
Siddharth Bhutiya 2021년 10월 4일
When you create a cateogorical array, you specify the list of categories. That list now becomes a property of the categorical object. Taking a subset of the array using indexing would not update that list. If you want to add/remove a category from your array then you would have to use something like addcats/removecats.
>> C = categorical({'A'; 'B'; 'C'; 'D'; 'E'; 'F'});
>> categories(C)
ans =
6×1 cell array
{'A'}
{'B'}
{'C'}
{'D'}
{'E'}
{'F'}
>> C1 = C(3:end)
C1 =
4×1 categorical array
C
D
E
F
>> categories(C1)
ans =
6×1 cell array
{'A'}
{'B'}
{'C'}
{'D'}
{'E'}
{'F'}
Nex
Nex 2021년 10월 4일
Thank you very much for the clear explanation and suggestion of a solution.

댓글을 달려면 로그인하십시오.

채택된 답변

VBBV
VBBV 2021년 9월 29일
C = categorical({'A'; 'B'; 'C'; 'D'; 'E'; 'F'});
N = [5 4 2 3 4 8];
bar(C(3:end), N(3:end))
xticks(C(3:end))
xticklabels(C(3:end))
Use Xticks & Xticklabels

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by