Matlab中的三维叠层钢筋

Matlab中的三维叠层钢筋,matlab,plot,Matlab,Plot,我只想在一个“分离”条形图中绘制多个堆叠条形图。例如,想象一下,这是一个完整的绘图,但是是堆叠的,而不是单一的颜色 你的意思是像第一张图片一样?你似乎找到了正确的命令,你到底在什么地方卡住了?最后一个绘图:(使用样式选项“堆叠”创建一个三维条形图):我想添加一个z轴,并在每个z(I)中重复绘制这种图形。我清楚了吗?不清楚,至少对我来说不清楚…@Junuxx:我想OP想要在一个“分离”的条形图中绘制多个堆叠的条形图。例如,想象一下这一点,但是堆叠起来,而不是单一颜色。这可以用Python、R甚至

我只想在一个
“分离”条形图中绘制多个堆叠条形图。例如,想象一下,这是一个完整的绘图,但是是堆叠的,而不是单一的颜色


你的意思是像第一张图片一样?你似乎找到了正确的命令,你到底在什么地方卡住了?最后一个绘图:(使用样式选项“堆叠”创建一个三维条形图):我想添加一个z轴,并在每个z(I)中重复绘制这种图形。我清楚了吗?不清楚,至少对我来说不清楚…@Junuxx:我想OP想要在一个
“分离”的
条形图中绘制多个堆叠的条形图。例如,想象一下这一点,但是堆叠起来,而不是单一颜色。这可以用Python、R甚至Excel来完成吗?
% Set up two random data sets

data1=rand(10);
data2=rand(10);

% plot the first data set

bh=bar3(data1);

% Loop through each row and shift bars upwards

for i=1:length(bh)
      zz = get(bh(i),'Zdata');
      k = 1;

      % Bars are defined by 6 faces(?), adding values from data2 will
      % shift the bars upwards accordingly, I'm sure this could be made
      % better!
      for j = 0:6:(6*length(bh)-6)  
             zz(j+1:j+6,:)=zz(j+1:j+6,:)+data2(k,i);
             k=k+1;
      end

      % Reset Zdata in chart
      set(bh(i),'Zdata',zz);
end

% Set face colour to red for data1

set(bh,'FaceColor',[1 0 0]);

% Apply hold so that data2 can be plotted

hold on;

% Plot data2
bh=bar3(data2);

% Set face color to blue

set(bh,'FaceColor',[0 0 1]);
hold off;