ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

App Designer でのグラフィックスのサポート

アプリがサポートできるチャートのタイプは、UI の基となっている Figure の種類によって大きく異なります。GUIDE を使用して作成するアプリと関数 uicontrol を使用してプログラムによって作成するアプリは、従来の Figure と座標軸を使用します。これらのアプリは、MATLAB® で使用可能なすべてのグラフィックス機能をサポートします。

App Designer を使用して作成するアプリは、UI figure と呼ばれる新しい種類の Figure に基づいています。これらのアプリ内でグラフィックスを表示するには、UI axes と呼ばれる新しいタイプの座標軸を使用しなければなりません。

UI figure と UI axes は、従来の Figure と座標軸に似ていますが、アプリの作成方法を決める際に注意を要するいくつかの重要な相違点があります。

グラフィックスのサポート

グラフィックスを表示するアプリを App Designer で作成している場合、特定のグラフィックス関数を呼び出すときに、ターゲット UI figure または UI axes を指定しなければなりません。指定しない場合、MATLAB では gcf または gca がターゲットとみなされます。ただし、gcfgca は UI figure と UI axes を返すことができないため、これらを省略すると予期しない結果が生じる可能性があります。

さらに、UI figure は、従来の Figure がサポートしていた大半の対話型機能をサポートしていません。たとえば、UI figure では、印刷、およびマウスまたはキーボードの対話型の操作をサポートしていません。

次の表では、UI figure と UI axes でサポートされるグラフィックス関数の一覧です。

カテゴリR2016a 以降でサポートR2016b で追加R2017a で追加メモ
チャート関数とグラフィックス オブジェクトalpha
colormap
hold
line
plot
scatter
text
title
alphamap
animatedline
area
bar
barh
caxis
colorbar
contour
contourf
errorbar
feather
fcontour
fimplicit
fplot
histogram
image
imagesc
imshow
legend
loglog
quiver
rectangle
semilogx
semilogy
stairs
stem
yyaxis
comet
plot(graph)
triplot
voronoi

これらの関数を呼び出す際は、ターゲットの UI figure と UI axes を指定しなければなりません。

次のコードは、App Designer でターゲットとなる UI axes を指定する方法を示しています。

plot(app.UIAxes,[1 2 3 4],'-r');
hold(app.UIAxes);
plot(app.UIAxes,[10 9 4 7],'--b');

一部の関数 (imshowtriplot など) では、ターゲットを指定する名前と値のペアの引数が必要です。たとえば、次のコードは、App Designer で関数 imshow を呼び出す方法を示しています。

imshow('peppers.png','Parent',app.UIAxes);

座標系box
grid
xlim
ylim
xlabel
ylabel
datetick
xticks
yticks
xtickangle
ytickangle
xtickformat
ytickformat
xticklabels
yticklabels
 

これらの関数を使用する場合は、ターゲットとして UI axes を指定します。たとえば、次のコードは、App Designer でプロットに x ラベルを設定する方法を示しています。

xlabel(app.UIAxes,'Frequency');

ユーティリティancestor
cla
delete
get
set
findobj
ishandle
isgraphics
newplot
reset
pbaspect (2 次元)alim
drawnow
pan
zoom

これらの関数の一部を呼び出すときに、ターゲットの UI figure または UI axes を指定しなければならない場合があります。

次のコードは、Figure である app.UIFigureUIAxes オブジェクトを見つける方法を示しています。この場合、findobj は、XLim プロパティが [0 1] であるオブジェクトを検索します。

ax = findobj(app.UIFigure,'XLim',[0 1]);

次のコードは、関数 pan および zoom の使用方法を示しています。

pan(app.UIAxes,'on');
zoom(app.UIAxes,'on');
UI axes の場合、pan では、'on' および 'off' 引数のみがサポートされています。zoom では、'on''off'、および factor 引数のみがサポートされています。

Figureclose  

ターゲットとして UI figure を指定します。次に例を示します。

f = uifigure;
close(f);

プロパティとコンポーネントのサポート

以前のリリースで記述したコードを App Designer に移すと、次の制限の影響を受けることがあります。

  • UI figure は、従来の Figure がサポートしていたプロパティのサブセットのみをサポートします。たとえば、UI figure は、印刷、保存、コールバックの実行またはカスタムのマウスおよびキーボードの対話型の操作のプロパティをサポートしていません。サポートされているプロパティの完全なリストについては、UI Figure のプロパティ を参照してください。

  • UI axes は、従来の座標軸がサポートしていたプロパティのサブセットのみをサポートします。たとえば、UI axes は、ライティングおよびカメラのプロパティまたは対話制御のプロパティはサポートしていません。サポートされているプロパティの完全なリストについては、UIAxes のプロパティ を参照してください。

  • UI figure は、従来の Figure とは異なる対話型コンポーネントのセットをサポートしています。たとえば、UI figure は関数 uicontrol または uimenu で作成されたコンポーネントをサポートしません。サポートされているコンポーネントの完全なリストについては、「App Designer のコンポーネント」を参照してください。

  • 一部のコンポーネントは、UI figure に配置される際にプロパティのサブセットのみをサポートします。たとえば、Table UI コンポーネントは、UI figure の Extent プロパティをサポートしません。特定のコンポーネントでサポートされるプロパティのリストについては、「App Designer のコンポーネント」ページでコンポーネントのプロパティのページを参照してください。

参考

|

関連するトピック

この情報は役に立ちましたか?