積み上げグラフの凡例とプロット対象データの調整について
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Koki Hashiguchi
le 29 Juil 2019
Commenté : Koki Hashiguchi
le 29 Août 2019
積み上げグラフをスクリプトから作成する際、
データの値に応じてプロット対象を決めて、
凡例表示もプロットされるデータのみにしたいと考えているのですが、
それは可能でしょうか。
L1~L15の内配列内が[0;0;0]になっているL6,L11,L12,L15以外をプロットさせたいと考えております。
以上、宜しくお願いいたします。
0 commentaires
Réponse acceptée
Yoshio
le 23 Août 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)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Legend dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!