Ich versuche, ein 3D-gestapeltes Balkendiagramm wie in dieser Frage zu erstellen: 3D stacked bars in Matlab. Aber im Gegensatz zu dieser Frage möchte ich 3 Datensätze anstelle von 2 verwenden. Ich denke, ich habe ein (wahrscheinlich einfaches) Problem, bei dem die Balken nicht richtig hochgeschoben werden oder etwas Ähnliches.Matlab: 3D gestapelt Balkendiagramm
Die drei Datensätze Ich habe sind test1, test2 und test3 genannt und sind jeweils:
5 10 7
1 100 0
1 3 2
10 15 10
10 80 10
5 5 15
10 10 10
20 200 20
30 10 30
Wie Sie die zentrale Bar sollte aufzuaddieren sehen 380 aber ist nur 280 groß. Die Balken für einen der Datensätze scheinen "innerhalb" der anderen beiden Datensätze zu liegen, was auch erklären würde, warum die Balken 3 zentrale Trennlinien haben anstelle der 2, die wir erwarten würden.
Der Code Ich verwende ist:
core=bar3(test1);
set(core,'FaceColor',[1 0 0]); %red
for i=1:length(core)
zz=get(core(i),'Zdata');
k=1;
for j= 0:6:(6*length(core)-6)
zz(j+1:j+6,:)=zz(j+1:j+6,:)+test2(k,i);
k=k+1;
end
set(core(i),'Zdata',zz);
end
hold on
core=bar3(test2);
set(core,'FaceColor',[0 1 1]);%cyan
hold off
for i=1:length(core)
zz=get(core(i),'Zdata');
k=1;
for j= 0:6:(6*length(core)-6)
zz(j+1:j+6,:)=zz(j+1:j+6,:)+test3(k,i);
k=k+1;
end
set(core(i),'Zdata',zz);
end
hold on
core=bar3(test3);
set(core,'FaceColor',[1 1 0]);%yellow
hold off
Wie kann ich die Stäbe richtig hochschalten? Oder wie kann ich Matlab-Code verwenden, um ein 3D-gestapeltes Balkendiagramm für die Daten zu erstellen? Jede Hilfe sehr geschätzt, danke für Ihre Zeit.
Vielen Dank, du schöner Mann. –
Gern geschehen! –