4

BNT の plotgauss2d 関数を使用して、ネットの他の場所で証拠が観察されたときに 2D ガウス ノードの応答がどのように変化するかを視覚化しています。

eng = jtree_inf_engine(bnet);
evidence = cell(1, 2)
eng = enter_evidence(eng, evidence);
marginals = marginal_nodes(eng, 1); p_1 = marginals.T
marginals = marginal_nodes(eng, 2); p_2 = marginals.T
marginals
clf; plotgauss2d(marginals.mu, marginals.Sigma);
hold all;
evidence{1} = 1;
marginals = marginal_nodes(enter_evidence(eng, evidence), 2);
p = plotgauss2d(marginals.mu, marginals.Sigma);
set(p, 'Color', 'green');
evidence{1} = 2;
marginals = marginal_nodes(enter_evidence(eng, evidence), 2);
p = plotgauss2d(marginals.mu, marginals.Sigma);
set(p, 'Color', 'red');
legend({'Unknown', 'Class 1', 'Class 2'});
hold off;

ここに画像の説明を入力

ご覧のとおり、手動で設定する必要があった変更されたプロットの色が凡例に反映されていません。(悲しいことに、plotgauss2d は、希望どおりに色を自動的に切り替えません。)

凡例でも使用される線の色を設定する方法はありますか?

4

2 に答える 2

7

PLOTGAUSS2D関数は、軸、長軸、楕円にそれぞれ対応する 3 つのハンドルのベクトルを返します。ハンドルを保存し、最後に LEGEND を呼び出す方法の例を次に示します。

figure, hold on
h = zeros(3,3);
h(:,1) = plotgauss2d(rand(2,1), [1 0.5; 0.5 2]);
h(:,2) = plotgauss2d(rand(2,1), [2 -0.5; -0.5 1]);
h(:,3) = plotgauss2d(rand(2,1), [1 0; 0 2]);
hold off
set(h(:,1), 'Color','r')
set(h(:,2), 'Color','g')
set(h(:,3), 'Color','c')
legend(h(1,:), {'1','2','3'})

スクリーンショット

于 2012-06-09T01:50:17.960 に答える
2

凡例は、線の色、スタイル、マーカーなどをピックアップします。

plot各に少なくとも 3 つの が必要plotgauss2d plotです。そのため、legendコマンドは、最初の呼び出しからすべてのlegend最初の 3 つの s に を適用しています。plotplotgauss2d

コードの一部をスキップして、これを行うことで凡例を正しくすることができます:

p = plotgauss2d(marginals.mu, marginals.Sigma);
h = p(1);
hold all;
evidence{1} = 1;
marginals = marginal_nodes(enter_evidence(eng, evidence), 2);
p = plotgauss2d(marginals.mu, marginals.Sigma);
h(end+1) = p(1);
set(p, 'Color', 'green');
evidence{1} = 2;
marginals = marginal_nodes(enter_evidence(eng, evidence), 2);
p = plotgauss2d(marginals.mu, marginals.Sigma);
h(end+1) = p(1);
set(p, 'Color', 'red');
legend(h,{'Unknown', 'Class 1', 'Class 2'});

これで、各呼び出しから1 つlegendに適用するようになりました。legendplotplotgauss2d

また、最後に次の行を追加することをお勧めします。

axis equal;

気に入っていただけると思います。

于 2012-06-09T01:23:27.990 に答える