Main Content

App Designer におけるチャートを使用したカスタム UI コンポーネントの作成

この例では、チャートをカスタム UI コンポーネントに取り込む方法を説明します。アプリ作成者がこのコンポーネントを使用すれば、アプリ ユーザーはバブル チャート データの表示を対話形式で変更できるようになります。コンポーネントのインターフェイスは以下で構成されます。

  • バブル チャートでプロットするデータを指定するパブリック プロパティ (XDataYDataSizeData など)

  • バブル チャートの表示を構成するパブリック プロパティ (XLabelYLabelShowLegend など)

  • ユーザー インターフェイス コントロールを構成するパブリック プロパティ (ShowSizeUIShowTransparencyUI など)

  • アプリ ユーザーがアプリでサイズと透明度のコントロールを操作するときに実行されるパブリック コールバック BubbleSizeChangedFcn および BubbleTransparencyChangedFcn

カスタムのコンポーネント コードを調べるには、App Designer で InteractiveBubbleChart.mlapp ファイルを開きます。

カスタム コンポーネントの動作を検証するには、最初に新しいスクリプト ファイルを開き、プロットするランダム データを作成します。

x = 1:20;
y = rand(1,20);
bsize = rand(1,20);

このコードを追加して InteractiveBubbleChart オブジェクトをプログラムで作成し、データ関連のパブリック プロパティを名前と値の引数として指定します。

comp = InteractiveBubbleChart(XData=x,YData=y,SizeData=bsize);

次のコードをファイルに追加して、プロットの凡例を表示するようにコンポーネントを更新し、バブル サイズが大きいときに凡例を隠すコールバック関数を定義します。コードを実行し、コンポーネントを操作して動作を確認します。

comp.ShowLegend = true;
comp.BubbleSizeChangedFcn = @toggleLegend;
function toggleLegend(src,event)
    if src.BubbleSize == "Large"
        src.ShowLegend = false;
    else
        src.ShowLegend = true;
    end
end

関連するトピック