Как создать динамическую прокручивающуюся диаграмму
Возможные сценарии использования
Динамическая прокручивающаяся диаграмма - это тип графического представления, используемого для отображения данных, меняющихся со временем. Она предназначена для предоставления видео в реальном времени данных, позволяя пользователям отслеживать непрерывные обновления и тренды. Диаграмма непрерывно обновляется при добавлении новых данных, автоматически прокручиваясь, чтобы показывать самую последнюю информацию.
Динамические прокручивающиеся диаграммы широко используются в различных отраслях, таких как финансы, анализ фондового рынка, отслеживание погоды и аналитика социальных медиа. Они позволяют пользователям визуализировать и анализировать паттерны данных и принимать обоснованные решения на основе информации в реальном времени.
Эти диаграммы обычно интерактивны, позволяя пользователю увеличивать или уменьшать масштаб, прокручивать исторические данные и регулировать временные интервалы. Они часто поддерживают несколько серий данных, обеспечивая комплексный обзор различных метрик и их взаимосвязей.
В целом, динамические прокручивающиеся диаграммы - это ценные инструменты для мониторинга и анализа временных рядов данных, способствуя принятию решений в реальном времени и улучшая возможности визуализации данных.
Используйте Aspose Cells для создания динамической прокручивающейся диаграммы
В следующих абзацах мы покажем вам, как создать динамическую прокручивающуюся диаграмму с использованием Aspose.Cells. Мы покажем вам код примера, а также файл Excel, созданный с помощью этого кода.
Образец кода
Приведенный ниже образец кода сгенерирует файл Динамической Прокручивающейся Диаграммы.
// 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(Sheet1!$B$2,Sheet1!$G$20,0,Sheet1!$H$20,1)"
Вы можете попробовать изменить число “10” на “15” в ячейке “Лист1!$H$20”, и динамическая диаграмма будет подсчитывать последние 15 наборов данных. Теперь мы успешно создали динамическую прокручивающуюся диаграмму с использованием Aspose.Cells.