IgbDataChart で、画面上のボタンをクリックしたときにチャートをズームイン/ズームアウトさせる方法を紹介します。IgbDataChart の ZoomInAsync メソッドと ZoomOutAsync メソッドを、ボタンのクリックイベントから呼び出すことで実現できます。

IgbDataChart の設定

コードからメソッドを呼び出せるように、IgbDataChart に @ref を指定してインスタンスを参照できるようにします。

<IgbDataChart @ref="chart" ...>
    <IgbCategoryXAxis Name="xAxis" ... />
    <IgbNumericYAxis Name="yAxis" ... />
    <IgbColumnSeries XAxisName="xAxis" YAxisName="yAxis" ... />
</IgbDataChart>

ZoomInAsync / ZoomOutAsync の使用

ズームイン用とズームアウト用のボタンを用意し、それぞれの @onclick にハンドラを指定します。

<IgbButton @onclick="OnZoomIn">Zoom In</IgbButton>
<IgbButton @onclick="OnZoomOut">Zoom Out</IgbButton>

ハンドラでは、@ref で取得した IgbDataChart のインスタンスに対して ZoomInAsync / ZoomOutAsync を呼び出します。

両メソッドの引数(double)には、現在の表示範囲(ウィンドウ矩形)に対するズームの割合を指定します。値が大きいほど 1 回のクリックで拡大/縮小される量が大きくなります。ここでは 0.1 を指定しているため、ボタンを 1 回クリックするごとに少しずつズームイン/ズームアウトします。

@code {
    private IgbDataChart? chart;

    private async Task OnZoomIn()
    {
        if (chart != null) await chart.ZoomInAsync(0.1);
    }

    private async Task OnZoomOut()
    {
        if (chart != null) await chart.ZoomOutAsync(0.1);
    }
}

実行結果

「Zoom In」ボタンをクリックするとチャートがズームインし、「Zoom Out」ボタンをクリックするとズームアウトします。

Tagged:

製品について

Ignite UI for Blazor