私は常に、MATLAB では、X
プロパティHandleVisibility
が 以外に設定されているグラフィック ハンドルは、 を使用する場合、またはの親であるon
場合には表示されないと考えていました。ただし、これは Windows でのみ当てはまり、Linux では当てはまらないようです。Debian 6.0.6 (squeeze) と Windows 7 の両方で MATLAB R2011b を使用しています。Windows で次のコードを実行すると:findobj(h)
get(h, 'Children')
h
X
figure;plot(randn(1,1000));
h = get(gcf, 'Children');
h
次に、ランダム プロットを含む軸に対応する単一のハンドルを に取得します。これは私が期待するものです。ただし、Linux でまったく同じコードを実行するとh
、10 個のハンドルの配列が含まれます。実際、これらのハンドルのほとんどは単なる UI 要素であり、そのHandleVisibility
プロパティは に設定されていoff
ます。例えば:
get(h(end), 'Type') % returns: 'uitoolbar'
get(h(end), 'HandleVisibility') % returns 'off'
この明らかに一貫性のない動作には理由がありますか? これは他の人が再現できますか?関連する可能性がある場合、私が使用している Debian サーバーは Sun JAVA 1.6.0_26 を実行しますが、これは Debian (openJDK) のデフォルトではありません。