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

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

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!