gpt4 book ai didi

matlab - 在 MATLAB 图的图例中设置线条颜色?

转载 作者:太空宇宙 更新时间:2023-11-03 19:51:46 25 4
gpt4 key购买 nike

我正在使用 BNT 的 plotgauss2d 函数来可视化当在网络其他地方观察到证据时二维高斯节点的响应如何变化。

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;

enter image description here

如您所见,图例没有采用我必须手动设置的已更改绘图颜色。 (遗憾的是,plotgauss2d 不会像您希望的那样自动循环显示颜色。)

有没有办法设置图例中使用的线条颜色?

最佳答案

PLOTGAUSS2D函数返回分别对应于短轴、长轴和椭圆的三个句柄的向量。所以这是一个如何存储句柄并在最后调用 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'})

screenshot

关于matlab - 在 MATLAB 图的图例中设置线条颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10957541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com