如何创建动态滚动图表
可能的使用场景
动态滚动图表是一种用于显示随时间变化的数据的图形表示类型。它旨在实时显示数据,使用户能够追踪连续的更新和趋势。随着新增数据的加入,图表将持续更新并自动滚动,以显示最新的信息。
动态滚动图表通常在各个行业中被广泛使用,如金融、股市分析、天气跟踪和社交媒体分析。它们使用户能够可视化和分析数据模式,并基于实时信息做出明智的决策。
这些图表通常是交互式的,允许用户放大或缩小、滚动历史数据和调整时间间隔。它们通常支持多个数据系列,提供不同指标及其相关性的综合视图。
总的来说,动态滚动图表是用于监控和分析时间序列数据的有价值的工具,有助于实时决策和增强数据可视化能力。
使用 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 创建了动态滚动图表。