Eje de fecha
Posibles escenarios de uso
Cuando crea un gráfico a partir de datos de la hoja de trabajo que usa fechas, y las fechas se trazan a lo largo del eje horizontal (categoría) en el gráfico, Aspose.cells cambia automáticamente el eje de categoría a un eje de fecha (escala de tiempo). Un eje de fechas muestra fechas en orden cronológico en intervalos específicos o unidades base, como el número de días, meses o años, incluso si las fechas en la hoja de trabajo no están en orden secuencial o en las mismas unidades base. De forma predeterminada, Aspose.cells determina las unidades base para el eje de fechas en función de la diferencia más pequeña entre dos fechas en los datos de la hoja de trabajo. Por ejemplo, si tiene datos de precios de acciones donde la diferencia más pequeña entre fechas es de siete días, Excel establece la unidad base en días, pero puede cambiar la unidad base a meses o años si desea ver el rendimiento de las acciones a lo largo del tiempo. un período de tiempo más largo.
Manejar eje de fecha como Microsoft Excel
Consulte el siguiente código de muestra que crea un nuevo archivo de Excel y coloca los valores del gráfico en la primera hoja de cálculo. Luego agregamos un gráfico y establecemos el tipo deEje aEscala de tiempo y luego establezca las unidades base en Días.
Código de muestra
// Create an instance of Workbook | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Add the sample values to cells | |
worksheet.Cells["A1"].PutValue("Date"); | |
// 14 means datetime format | |
Style style = worksheet.Cells.Style; | |
style.Number = 14; | |
// Put values to cells for creating chart | |
worksheet.Cells["A2"].SetStyle(style); | |
worksheet.Cells["A2"].PutValue(new DateTime(2022, 6, 26)); | |
worksheet.Cells["A3"].SetStyle(style); | |
worksheet.Cells["A3"].PutValue(new DateTime(2022, 5, 22)); | |
worksheet.Cells["A4"].SetStyle(style); | |
worksheet.Cells["A4"].PutValue(new DateTime(2022, 8, 3)); | |
worksheet.Cells["B1"].PutValue("Price"); | |
worksheet.Cells["B2"].PutValue(40); | |
worksheet.Cells["B3"].PutValue(50); | |
worksheet.Cells["B4"].PutValue(60); | |
// Adda chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 9, 6, 21, 13); | |
// Access the instance of the newly added chart | |
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; | |
// Add SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B4" | |
chart.SetChartDataRange("A1:B4", true); | |
// Set the Axis type to Date time | |
chart.CategoryAxis.CategoryType = CategoryType.TimeScale; | |
// Set the base unit for CategoryAxis to days | |
chart.CategoryAxis.BaseUnitScale = TimeUnit.Days; | |
// Set the direction for the axis text to be vertical | |
chart.CategoryAxis.TickLabels.DirectionType = ChartTextDirectionType.Vertical; | |
// Fill the PlotArea area with nothing | |
chart.PlotArea.Area.FillFormat.FillType = FillType.None; | |
// Set max value of Y axis. | |
chart.ValueAxis.MaxValue = 70; | |
// Set major unit. | |
chart.ValueAxis.MajorUnit = 10; | |
// Save the file | |
workbook.Save("DateAxis.xlsx"); |