動的ローリングチャートの作成方法
可能な使用シナリオ
動的ローリングチャートとは、データポイントが常にシフトして更新されるグラフィカルな表現を指します。このタイプのチャートは継続的に自動更新され、新しいデータポイントが追加されると古いデータポイントは破棄されます。
動的ローリングチャートは、リアルタイムやストリーミングデータのトレンドやパターンを可視化するために一般的に使用されます。株式市場の分析、気象モニタリング、またはライブパフォーマンスの追跡など、時間的な側面や時間の経過に伴う変化が重要なシナリオで特に有用です。
これらのチャートは通常、アニメーションや自動スクロールのメカニズムを使用して、常に最新の情報が表示されるようにしています。ローリングウィンドウの長さは、過去の1時間、1日、または1週間など、特定の時間期間を表示するようにカスタマイズできます。
要約すると、動的なローリングチャートは、古いデータを破棄しながら最新のデータポイントを表示する連続的に更新されるグラフ表現であり、ユーザーがリアルタイムのトレンドやパターンを観察することができます。
Aspose.Cells for Python via .NETを使用した動的ロールチャートの作成
次の段落では、Aspose.Cells for Python via .NETを使った動的ロールチャートの作成方法を紹介します。例のコードと、それを用いて作成したExcelファイルも示します。
サンプルコード
次のサンプルコードは[DynamicRollingChart.xlsx]を生成します。
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# How to Create a Dynamic Rolling Chart | |
# Your local test path | |
LocalPath = r"" | |
# Create a new workbook and access the first worksheet. | |
workbook = Workbook() | |
sheets = workbook.worksheets | |
sheet = sheets[0] | |
# Populate the data for the chart. Add values to cells and set series names. | |
sheet.cells.get("A1").put_value("Month") | |
sheet.cells.get("A2").put_value(1) | |
sheet.cells.get("A3").put_value(2) | |
sheet.cells.get("A4").put_value(3) | |
sheet.cells.get("A5").put_value(4) | |
sheet.cells.get("A6").put_value(5) | |
sheet.cells.get("A7").put_value(6) | |
sheet.cells.get("A8").put_value(7) | |
sheet.cells.get("B1").put_value("Sales") | |
sheet.cells.get("B2").put_value(50) | |
sheet.cells.get("B3").put_value(45) | |
sheet.cells.get("B4").put_value(55) | |
sheet.cells.get("B5").put_value(60) | |
sheet.cells.get("B6").put_value(55) | |
sheet.cells.get("B7").put_value(65) | |
sheet.cells.get("B8").put_value(70) | |
# Set the dynamic range for the chart's data source. | |
index = sheets.names.add("Sheet1!ChtData") | |
sheets.names[index].refers_to = "=OFFSET(Sheet1!$B$1,COUNT(Sheet1!$B:$B),0,-5,1)" | |
# Set the dynamic range for the chart's data labels. | |
index = sheets.names.add("Sheet1!ChtLabels") | |
sheets.names[index].refers_to = "=OFFSET(Sheet1!$A$1,COUNT(Sheet1!$A:$A),0,-5,1)" | |
# Create a chart object and set its data source. | |
chartIndex = sheet.charts.add(ChartType.LINE, 10, 3, 25, 10) | |
chart = sheet.charts[chartIndex] | |
chart.n_series.add("Sales", True) | |
chart.n_series[0].values = "Sheet1!ChtData" | |
chart.n_series[0].x_values = "Sheet1!ChtLabels" | |
# Save the workbook as an Excel file. | |
workbook.save(LocalPath + "DynamicRollingChart.xlsx") |
メモ
生成されたファイルでは、列Aと列Bにデータを追加できます。これに対し、チャートは最新の5つのデータセットを動的にカウントします。これは、例のコードの「OFFSET」式を使用して行います。
"=OFFSET(Sheet1!$A$1,COUNT(Sheet1!$A:$A),0,-5,1)"
“-5"を”-10"に変えて、最新の10セットのデータをカウントできる動的ロールチャートを作成できます。Aspose.Cells for Python via .NETを使った動的ロールチャートの作成に成功しました。