Blazor WebAssembly+OpenMapWeatherApiで取得したデータをExcelファイルとしてダウンロードする

前回 Blazor WebAssemblyで作成した天気予想アプリにグラフを表示する機能を追加します。

サンプルページはこちらです。

JavaScriptを使うのですが、dataとoptionsをJSON形式で渡します。最初にwwwroot/index.htmlを示します。

ShowChart関数にdataSet, optionという引数を渡していますが、これを生成するためのクラスを作成します。

Index.razorの変更部分を示します。気温、湿度、気圧のグラフを表示したいのでcanvasを3つ追加しています。

@code の部分で追加された部分を示します。それ以外は前回と同じです。

まずリストのなかに取得したデータを格納しています。これをもとにJavaScriptにわたす引数を生成します。Optionsはほとんど同じなので別メソッドにしました。

GetOptions(string titleText, int max, int min, int stepSize)メソッドではグラフの目盛りの最小値と最大値を設定します。ひとつの折れ線グラフにひとつの項目しか表示させないので凡例は表示させません(Legend legend = new Legend { Display = false };の部分)。

気温は目盛りの最大値と最小値はデータの最大値と最小値の±5℃にしています。

湿度も気温と同じですが、100%を超えたり0%を下回ることはないのでそのように調整しています。

以下は気圧のグラフを表示するメソッドです。