我正在编写一个小脚本开始习惯在MATLAB中使用waitbars,我想将waitbar的边缘颜色设置为绿色,将面部颜色设置为蓝色但是它不起作用;我一直把脸色换成绿色,边缘是黑色。 这是代码:
wb=waitbar(0,'Iterating...');
set(wb,'Name','Changing color');
wbobject=findobj(wb,'Type','Patch');
set(wbobject,'EdgeColor',[0 1 0],'FaceColor',[0 0 1]);
for i=1:1000
waitbar(i/1000)
end
delete(wb);
另一个问题:您是否介意向我解释或引用我的信息来理解MATLAB中的补丁是什么?
谢谢!
答案 0 :(得分:1)
您无法在EdgeColor
中看到更改,因为waitbar
数字包含一个line
对象,即该大纲。您将要查找该行对象并更改其Color
属性
wb=waitbar(0,'Iterating...');
set(wb,'Name','Changing color');
wbobject=findobj(wb,'Type','Patch');
set(wbobject,'EdgeColor',[0 1 0],'FaceColor',[0 0 1]);
hline = findall(wb, 'type', 'line');
set(hline, 'Color', [0 1 0]);
documentation中还描述了patch
个对象。它本质上是一个填充多边形。 waitbar
使用一个来表示指示进度的矩形。