![bar.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/235121/bar.jpeg)
積み上げグラフの凡例とプロット対象データの調整について
20 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Koki Hashiguchi
il 29 Lug 2019
Commentato: Koki Hashiguchi
il 29 Ago 2019
積み上げグラフをスクリプトから作成する際、
データの値に応じてプロット対象を決めて、
凡例表示もプロットされるデータのみにしたいと考えているのですが、
それは可能でしょうか。
L1~L15の内配列内が[0;0;0]になっているL6,L11,L12,L15以外をプロットさせたいと考えております。
以上、宜しくお願いいたします。
![0729.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/231669/image.png)
0 Commenti
Risposta accettata
Yoshio
il 23 Ago 2019
こんな感じではどうでしょうか。ポイントはwhosを使った変数名の取得と、evalによる評価です。
なお、プログラム作成と検証のため、できるだけダミーの入力データを添付してください。
zeros3 = zeros(3,1);
L1 = [(1:3)/10]';
L12 = [0 1 1]';
L13 = [ 1 3 6]';
L14 = [0 0 0]';
L15 = [ 3 2 1]';
L2 = [ 0 0 0]';
L21 = [ 2 0 3]';
L22 = [1 2 0]';
C = whos('L*');
n = length(C)
names = [];
data = [];
i = 0;
while i < n
i = i+1;
varname =C(i).name;
val = eval(varname);
if isequal(val, zeros3)
continue
end
names = [names {varname}];
data = [data val];
end
data
names
bar(data,'stacked')
legend(names)
![bar.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/235121/bar.jpeg)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Legend in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!