如何创建动态滚动图表

可能的使用场景

动态滚动图表是一种用于显示随时间变化的数据的图形表示类型。它旨在实时显示数据,使用户能够追踪连续的更新和趋势。随着新增数据的加入,图表将持续更新并自动滚动,以显示最新的信息。

动态滚动图表通常在各个行业中被广泛使用,如金融、股市分析、天气跟踪和社交媒体分析。它们使用户能够可视化和分析数据模式,并基于实时信息做出明智的决策。

这些图表通常是交互式的,允许用户放大或缩小、滚动历史数据和调整时间间隔。它们通常支持多个数据系列,提供不同指标及其相关性的综合视图。

总的来说,动态滚动图表是用于监控和分析时间序列数据的有价值的工具,有助于实时决策和增强数据可视化能力。

使用 Aspose.Cells for Python via .NET 创建动态滚动图表

在接下来的段落中,我们将向您展示如何使用 Aspose.Cells for Python via .NET 创建动态滚动图表。我们会提供示例代码以及用此代码生成的 Excel 文件。

示例代码

以下示例代码将生成动态滚动图表文件

from aspose.cells import Workbook
from aspose.cells.charts import ChartType
# How to Create a Dynamic Scrolling 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("Day")
sheet.cells.get("B1").put_value("Sales")
# In this example, we will add 30 days of data
allDays = 30
showDays = 10
currentDay = 1
for i in range(allDays):
_cellA = "A" + str(i + 2)
_cellB = "B" + str(i + 2)
sheet.cells.get(_cellA).put_value(i + 1)
value = 50 * (i % 2) + 20 * (i % 3) + 10 * (i / 3)
sheet.cells.get(_cellB).put_value(value)
# This is the Dynamic Scrolling Control Data
sheet.cells.get("G19").put_value("Start Day")
sheet.cells.get("G20").put_value(currentDay)
sheet.cells.get("H19").put_value("Show Days")
sheet.cells.get("H20").put_value(showDays)
# Set the dynamic range for the chart's data source.
index = sheets.names.add("Sheet1!ChtScrollData")
sheets.names[index].refers_to = "=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].refers_to = "=OFFSET(Sheet1!$A$2,Sheet1!$G$20,0,Sheet1!$H$20,1)"
# Add a ScrollBar for the Dynamic Scrolling Chart
bar = sheet.shapes.add_scroll_bar(2, 0, 3, 0, 200, 30)
bar.min = 0
bar.max = allDays - showDays
bar.current_value = currentDay
bar.linked_cell = "$G$20"
# Create a chart object and set its data source.
chartIndex = sheet.charts.add(ChartType.LINE, 2, 4, 15, 10)
chart = sheet.charts[chartIndex]
chart.n_series.add("Sales", True)
chart.n_series[0].values = "Sheet1!ChtScrollData"
chart.n_series[0].x_values = "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 for Python via .NET 创建了动态滚动图表。