我正在使用plot_confusion()
函数绘制几个混淆矩阵,我想将它们放在一个子图(2x5数字)中,但它似乎不起作用。它分别显示每个混淆矩阵。策划混淆是否有任何限制?谢谢!
figure
Subplot(2,1,1);
plotconfusion(targets,outputs,'train');
subplot(2,1,2);
plotconfusion(targets1,outputs1,'test')
答案 0 :(得分:2)
你“不应该”这样做(功能不包括在内),但你可以稍微欺骗Matlab,因为在一天结束时它只是一个轴对象:
%% First Example Data
[x,t] = cancer_dataset;
net = patternnet(10);
net = train(net,x,t);
y = net(x);
%// plot
plotconfusion(t,y)
%// get handle and enable second plöt
cp1 = gcf;
cp1.NextPlot = 'new'
ax1 = findobj(cp1,'Type','Axes')
%% Second Example Data
[x,t] = cancer_dataset;
net = patternnet(5);
net = train(net,2*x,t);
y = net(x);
%// plot
plotconfusion(t,y)
%// get handle and enable third plöt
cp2 = gcf;
cp2.NextPlot = 'new'
ax2 = findobj(cp2,'Type','Axes')
%% combine plots
f1 = figure(42)
f1s1 = subplot(121)
copyobj(allchild(ax1),f1s1)
f1s2 = subplot(122)
copyobj(allchild(ax2),f1s2)
你松开了标签和标题,可能需要调整轴,但我想你能做到这一点。