2016-12-09 5 views
1

私はMATLABのwaitbarsに慣れ始める少しのスクリプトを書いていました。私はwaitbarの端の色を緑に、顔の色を青に設定したかったのですが、うまく動作しませんでした。私は顔の色が緑色で、縁が黒くなっています。Matlab GUI 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

'set(wb、 'Edgecolor'、...)'を試したことがありますか?オブジェクトの名前を使用するだけですか? – marcoresk

+0

marcoreskt:はい私はしましたが、動作しませんでした – chsafouane

答えて

1

waitbarフィギュアにそのアウトラインであるlineオブジェクトが含まれているため、変更がEdgeColorに表示されません。あなたはそれのColorプロパティもpatchオブジェクトがdocumentationに記述されている

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]); 

enter image description here

をそのラインオブジェクトを検索し、変更したいと思います。基本的に塗りつぶされたポリゴンです。 waitbarは、進捗を示す矩形を表すために1を使用します。

+0

Sueverありがとう – chsafouane