How to plot with plotconfusion into subplots?
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Antje
am 31 Mai 2013
Kommentiert: Fatih Erden
am 8 Sep. 2018
Hi,
I have a problem with subplots of the figures created with plotconfusion. I tried it like this, but the result is only one plot, no subplot.
a=[1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0];
b=[1 0 1 1 0 1 1 0 1 0 1 0 0 0 1 1 0 0 1 0];
c=[1 1 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0]
figure(1)
subplot(2,1,1)
plotconfusion(a,b)
subplot(2,1,2)
plotconfusion(a,c)
Does somebody know how to make it in subplots? Thanks for your help!
0 Kommentare
Akzeptierte Antwort
Daniel Shub
am 31 Mai 2013
The code for plotconfusion is available. It doesn't support an axis handle argument and does not plot into the current axis, rather it overwrites the figure. It seems to be a pretty complicated function that is doing much more than just plotting. I would suggest looking at the code and extracting the plotting aspects and writing your own function.
4 Kommentare
Weitere Antworten (1)
José-Luis
am 31 Mai 2013
Bearbeitet: José-Luis
am 31 Mai 2013
You could always copy all the objects generated by plotconfusion into the subplot axes:
a=[1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0];
b=[1 0 1 1 0 1 1 0 1 0 1 0 0 0 1 1 0 0 1 0];
c=[1 1 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0];
figure(1)
plotconfusion(a,b)
aH(1) = gca;
acH(1) = {flipud(allchild(aH(1)))};
figure(2)
plotconfusion(a,c)
aH(2) = gca;
acH(2) = {flipud(allchild(gca))};
figure(3)
sH(1) = subplot(2,1,1);
sH(2) = subplot(2,1,2);
for ii = 1:numel(acH{1});
copyobj(acH{1}(ii),sH(1));
copyobj(acH{2}(ii),sH(2));
end
set(sH,'Visible','off');
3 Kommentare
Alex Paul
am 21 Jun. 2018
I know this is a super dead question, but adding this after the subplot initialization parts should fix the problem:
a=[1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0];
b=[1 0 1 1 0 1 1 0 1 0 1 0 0 0 1 1 0 0 1 0];
c=[1 1 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0];
figure(1)
plotconfusion(a,b)
aH(1) = gca;
acH(1) = {flipud(allchild(aH(1)))};
figure(2)
plotconfusion(a,c)
aH(2) = gca;
acH(2) = {flipud(allchild(gca))};
figure(3)
sH(1) = subplot(2,1,1);
set(sH(1),'YDir', 'reverse') %added
sH(2) = subplot(2,1,2);
set(sH(2),'YDir', 'reverse') %added
for ii = 1:numel(acH{1});
copyobj(acH{1}(ii),sH(1));
copyobj(acH{2}(ii),sH(2));
end
set(sH,'Visible','off');
Fatih Erden
am 8 Sep. 2018
Thank you both. I was looking for a solution to put the pop-up confusion plot in a gui. It worked perfectly.
Siehe auch
Kategorien
Mehr zu Image Data Workflows finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!