在2014年之前,MatLab中的bar函数输出属性'children'

时间:2016-07-20 08:57:36

标签: matlab

我正在使用MatLab R2015a,我获得的软件工具是在R2008a中开发的。该工具包含所有.m个文件。

handles.bars = bar( 1:length(indxSubTypeSorted), processes(indxSubTypeSorted, i), 'FaceColor', colors(j, :), 'EdgeColor', edgeColor, 'BarWidth', 0.4);

R2015a上此行的输出具有'children'的空属性

  
    

的get(handles.bars(1), '孩子')

  

ans =

0x0 empty GraphicsPlaceholder array.

但是在R2008a中开发的软件工具正在使用此属性的值。

如果我在R2008a上运行它,以及如何从R2015a中找到正确的值,请问有什么价值吗?

1 个答案:

答案 0 :(得分:0)

要自定义图形,请使用实际对象的属性。根据此处的规定,R2014b {和3}}之后和之后的情况发生了变化 您将不再找到数字标识符。因此,对于两个Matlab版本:

handles.bars = bar( 1:10, rand(10), 'FaceColor', [rand, rand, rand], 'EdgeColor', [rand, rand, rand], 'BarWidth', 0.4);

然后它取决于你的代码后来做了什么。假设您要在Matlab R2008中更改FaceColor

gc = get(handles.bars(1),'children')
set(gc,'FaceColor',[rand rand rand]);

而在Matlab R2014b中:

handles.bars(1).FaceColor = [rand rand rand];