Datumsachse
Mögliche Nutzungsszenarien
Wenn Sie ein Diagramm aus Arbeitsblattdaten erstellen, das Datumsangaben verwendet, und die Datumsangaben entlang der horizontalen Achse (Kategorie) im Diagramm dargestellt werden, ändert Aspose.cells automatisch die Kategorieachse in eine Datumsachse (Zeitskala). Eine Datumsachse zeigt Daten in chronologischer Reihenfolge in bestimmten Intervallen oder Basiseinheiten an, z. B. die Anzahl der Tage, Monate oder Jahre, auch wenn die Daten auf dem Arbeitsblatt nicht in fortlaufender Reihenfolge oder in denselben Basiseinheiten sind. Standardmäßig bestimmt Aspose.cells die Basiseinheiten für die Datumsachse basierend auf der kleinsten Differenz zwischen zwei Datumsangaben in den Arbeitsblattdaten. Wenn Sie beispielsweise Daten für Aktienkurse haben, bei denen die kleinste Differenz zwischen Datumsangaben sieben Tage beträgt, legt Excel die Basiseinheit auf Tage fest, aber Sie können die Basiseinheit auf Monate oder Jahre ändern, wenn Sie die Wertentwicklung der Aktie überblicken möchten einen längeren Zeitraum.
Behandeln Sie die Datumsachse wie Microsoft Excel
Bitte sehen Sie sich den folgenden Beispielcode an, der eine neue Excel-Datei erstellt und Werte des Diagramms in das erste Arbeitsblatt einfügt. Dann fügen wir ein Diagramm hinzu und legen den Typ festAchse zuZeitstrahl und stellen Sie dann die Basiseinheiten auf Tage ein.
Beispielcode
// 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"); |