積み上げグラフの凡例​とプロット対象データ​の調整について

3 visualizzazioni (ultimi 30 giorni)
Koki Hashiguchi
Koki Hashiguchi il 29 Lug 2019
Commentato: Koki Hashiguchi il 29 Ago 2019
積み上げグラフをスクリプトから作成する際、
データの値に応じてプロット対象を決めて、
凡例表示もプロットされるデータのみにしたいと考えているのですが、
それは可能でしょうか。
L1~L15の内配列内が[0;0;0]になっているL6,L11,L12,L15以外をプロットさせたいと考えております。
以上、宜しくお願いいたします。
0729.png

Risposta accettata

Yoshio
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
  1 Commento
Koki Hashiguchi
Koki Hashiguchi il 29 Ago 2019
Yoshio様
ご回答ありがとうございます。
whosを使った変数名の取得と、evalによる評価というポイントまで
解説してくださりとても分かりやすいです。
ありがとうございました。

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!