Cómo crear un gráfico de desplazamiento dinámico

Escenarios de uso posibles

El gráfico de desplazamiento dinámico es un tipo de representación gráfica utilizada para mostrar datos que cambian con el tiempo. Está diseñado para proporcionar una vista en tiempo real de los datos, permitiendo a los usuarios rastrear actualizaciones continuas y tendencias. El gráfico se actualiza continuamente a medida que se agregan nuevos datos, y se desplaza automáticamente para mostrar la información más reciente.

Los gráficos de desplazamiento dinámico se utilizan comúnmente en diversas industrias, como finanzas, análisis del mercado de valores, seguimiento del clima y análisis de redes sociales. Permiten a los usuarios visualizar y analizar patrones de datos y tomar decisiones informadas basadas en información en tiempo real.

Estos gráficos suelen ser interactivos, permitiendo al usuario hacer zoom o desplazarse por datos históricos, y ajustar intervalos de tiempo. A menudo admiten múltiples series de datos, proporcionando una vista integral de diferentes métricas y sus correlaciones.

En general, los gráficos de desplazamiento dinámico son herramientas valiosas para monitorear y analizar datos de series temporales, facilitando la toma de decisiones en tiempo real y mejorando las capacidades de visualización de datos.

Use Aspose Cells para crear un gráfico de desplazamiento dinámico

En los siguientes párrafos, te mostraremos cómo crear un Gráfico de Desplazamiento Dinámico utilizando Aspose.Cells. Te mostraremos el código del ejemplo, así como el archivo de Excel creado con este código.

Código de muestra

El siguiente código de ejemplo generará el Archivo de Gráfico de Desplazamiento Dinámico.

// 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");

Notas

En el archivo generado, puedes operar en la barra de desplazamiento, mientras el gráfico cuenta dinámicamente los últimos 10 conjuntos de datos. Esto se hace usando la fórmula “OFFSET” en el código de ejemplo:

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

Puedes intentar cambiar el número “10” a “15” en la celda “Sheet1!$H$20”, y el gráfico dinámico contará los últimos 15 conjuntos de datos. Ahora hemos creado exitosamente un gráfico de desplazamiento dinámico usando Aspose.Cells.