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

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

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!