我想从类似于此问题答案中的数字的图中提取数据How can I adjust 3-D bar grouping and y-axis labeling in MATLAB?
我使用以下MATLAB代码,但它为x,y和z
返回nullx=get(findobj(get(gca,'Children'),'type','line'),'xdata');
y=get(findobj(get(gca,'Children'),'type','line'),'ydata');
z=get(findobj(get(gca,'Children'),'type','line'),'zdata');
你能帮我找到问题吗?
它适用于2D绘图,但它不适用于3D图:
bar3([3 2 4;2 3 1]);
我不明白为什么?
我也尝试了以下代码:
D=get(gca,'Children');
XData=get(D,'XData');
YData=get(D,'YData');
ZData=get(D,'ZData');
在这种情况下,我得到ZData的一些答案,ZData是一个3 * 1的单元格,每个单元格包含一个12 * 4的数组。仍然不知道如何提取值和这个单元格是什么?
如评论中所述,ZData具有常规模式。使用以下代码我可以提取数据:
z=ZData;
a=z{1,1};
r=size(a,1);
num_rows=ceil((r-2)/6);
num_col=size(z,1);
result=zeros(num_rows,num_col);
m=0;
for i=size(z,1):-1:1
m=m+1;
z_i=z{i,1};
k=0;
for j=2:6:r
k=k+1;
result(k,m)=z_i(j,2);
end
end
end
结果将是我们正在寻找的数据。