
3D grouped bar graph
    16 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
Hi I have two grouped bar graphes. The first one is for x=1 and the second one is for x=2. I want to combine both at the same with a 3D view. My code is here
clear all
clc
close all
%at x=1
a=[11;7;14;11;43;38];
b=[11;13;17;13;51;46];
c=[9;11;20;9;69;76];
y1=[a b c];
%at x=2
d=[38;61;75;38;28;33];
e=[46;132;135;88;36;51];
f=[76;186;180;115;85;72];
y2=[d e f];
figure(1)
bar3(y1,'grouped')
title('Grouped Style')
ylabel('y1')
zlabel('z1')
figure(2)
bar3(y2,'grouped')
title('Grouped Style')
ylabel('y2')
zlabel('z2')
Any help is appreciated!
Thank you
0 commentaires
Réponses (2)
  Sam Penwell
 le 12 Juin 2017
        I ran into the same problem. I was able to solve it by using the Xdata of the plot as described for a different case here:
I would suggest you try this:
clear all
clc
close all
%at x=1
a=[11;7;14;11;43;38];
b=[11;13;17;13;51;46];
c=[9;11;20;9;69;76];
y1=[a b c];
%at x=2
d=[38;61;75;38;28;33];
e=[46;132;135;88;36;51];
f=[76;186;180;115;85;72];
y2=[d e f];
figure(1); 
hold on;
%First x value
xval = 1; 
h = bar3(y1,'grouped');
Xdat = get(h,'Xdata');
for ii=1:length(Xdat)
    Xdat{ii}=Xdat{ii}+(xval-1)*ones(size(Xdat{ii}));
    set(h(ii),'XData',Xdat{ii});
end
%Second x value
xval = 2;
h = bar3(y2,'grouped');
Xdat = get(h,'Xdata');
for ii=1:length(Xdat)
    Xdat{ii}=Xdat{ii}+(xval-1)*ones(size(Xdat{ii}));
    set(h(ii),'XData',Xdat{ii});
end
xlim([0 3]);
view(3);
title('Grouped Style')
xlabel('x');
ylabel('y');
zlabel('z');

2 commentaires
  Shashibhushan Sharma
      
 le 21 Août 2018
				Dear all, I want to plot a 3D bar graph for a given X Y Z row matrix. actually I want to plot bar of Z for a specified X and Y. How to plot it please help me.
  Tuhin Choudhury
      
 le 5 Nov 2020
				
  Massimo Zanetti
      
 le 24 Oct 2016
        I think the only way is to group data into one matrix (bar2 groups data row-wise)
figure(1)
bar3([y1,y2],'grouped')
3 commentaires
  Massimo Zanetti
      
 le 25 Oct 2016
				As far as I know, it is not possible to have groups with different "x" coordinate. Looking forward to see if someone else can solve it.
Voir également
Catégories
				En savoir plus sur Conversion Between Symbolic and Numeric dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
