動的なスクロールチャートの作成方法

可能な使用シナリオ

動的スクロールチャートは、時間の経過とともに変化するデータを表示するためのグラフ表現の一種です。リアルタイムのデータ表示を提供するよう設計されており、ユーザーが連続的な更新やトレンドを追跡できます。新しいデータが追加されると、チャートは自動的に更新され、最新の情報を表示します。

動的スクロールチャートは、ファイナンス、株式市場分析、気象追跡、ソーシャルメディア分析など、さまざまな産業で一般的に使用されます。リアルタイム情報に基づいた、データパターンの視覚化と分析をユーザーが行い、的確な意思決定を行うことができます。

これらのチャートは通常、インタラクティブであり、ユーザーがズームインまたはズームアウト、過去のデータをスクロール、時間間隔を調整することができます。通常、複数のデータシリーズをサポートし、異なるメトリクスおよび相関を包括的に表示します。

全体として、動的スクロールチャートは、時系列データのモニタリングと分析に貴重なツールであり、リアルタイムの意思決定を容易にし、データの可視化能力を向上させるものです。

Aspose Cellsを使用して動的スクロールチャートを作成する

次の段落では、Aspose.Cellsを使用して動的スクロールチャートを作成する方法を示します。例のコードと、このコードで作成されたExcelファイルも表示します。

サンプルコード

次のサンプルコードは[DynamicScrollingChart.xlsx]を生成します。

// How to Create a Dynamic Scrolling Chart
// Your local test path
string LocalPath = @"";
//Create a new workbook and access the first worksheet.
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.Worksheets;
Worksheet sheet = sheets[0];
//Populate the data for the chart. Add values to cells and set series names.
sheet.Cells["A1"].PutValue("Day");
sheet.Cells["B1"].PutValue("Sales");
//In this example, we will add 30 days of data
int allDays = 30;
int showDays = 10;
int currentDay = 1;
for (int i = 0; i < allDays; i++)
{
string _cellA = String.Format("A{0}", i + 2);
string _cellB = String.Format("B{0}", i + 2);
sheet.Cells[_cellA].PutValue(i + 1);
sheet.Cells[_cellB].PutValue(50 * (i % 2) + 20 * (i % 3) + 10 * (i/3));
}
//This is the Dynamic Scrolling Control Data
sheet.Cells["G19"].PutValue("Start Day");
sheet.Cells["G20"].PutValue(currentDay);
sheet.Cells["H19"].PutValue("Show Days");
sheet.Cells["H20"].PutValue(showDays);
//Set the dynamic range for the chart's data source.
int index = sheets.Names.Add("Sheet1!ChtScrollData");
sheets.Names[index].RefersTo = "=OFFSET(Sheet1!$B$2,Sheet1!$G$20,0,Sheet1!$H$20,1)";
//Set the dynamic range for the chart's data labels.
index = sheets.Names.Add("Sheet1!ChtScrollLabels");
sheets.Names[index].RefersTo = "=OFFSET(Sheet1!$A$2,Sheet1!$G$20,0,Sheet1!$H$20,1)";
//Add a ScrollBar for the Dynamic Scrolling Chart
ScrollBar bar = sheet.Shapes.AddScrollBar(2, 0, 3, 0, 200, 30);
bar.Min = 0;
bar.Max = allDays - showDays;
bar.CurrentValue = currentDay;
bar.LinkedCell = "$G$20";
//Create a chart object and set its data source.
int chartIndex = sheet.Charts.Add(ChartType.Line, 2, 4, 15, 10);
Chart chart = sheet.Charts[chartIndex];
chart.NSeries.Add("Sales", true);
chart.NSeries[0].Values = "Sheet1!ChtScrollData";
chart.NSeries[0].XValues = "Sheet1!ChtScrollLabels";
//Save the workbook as an Excel file.
workbook.Save(LocalPath + "DynamicScrollingChart.xlsx");

メモ

生成されたファイルでは、スクロールバーを操作できます。このとき、チャートは最新の10つのデータセットを動的にカウントします。これは、例のコードの「OFFSET」式を使用して行います。

"=OFFSET(Sheet1!$B$2,Sheet1!$G$20,0,Sheet1!$H$20,1)"

セル「Sheet1!$H$20」で数値「10」を「15」に変更してみると、動的チャートは最新の15つのデータセットをカウントします。これでAspose.Cellsを使用して動的スクロールチャートを作成しました。