Erstellen eines Hoch Tief Schluss(HLC) Aktiendiagramms
Mögliche Verwendungsszenarien
Das Hoch-Tief-Schluss (HLC)-Aktiendiagramm verwendet vier Datenreihen. Die erste Reihe ist in der Regel eine Kategorie, üblicherweise ein Datum, aber auch Aktiennamen können verwendet werden. Die nächsten drei Reihen sind für die Hoch-, Tief- und Schlusskurse vorgesehen. Der Kursbereich für jede Kategorie wird durch eine vertikale Linie von Tief- zu Hochkurs angezeigt, und der Schlusskurs wird durch ein Tickzeichen angezeigt, das sich rechts von dieser Linie erstreckt.
Verbesserungen der Sichtbarkeit im Diagramm
Manchmal können wir das Aussehen des Markers (Schlusskurs) anpassen oder ihn auf der sekundären Achse anzeigen, um das Diagramm übersichtlicher zu gestalten.
Beispielcode
Der folgende Beispielcode lädt die Beispiel-Excel-Datei und generiert die Ausgabe-Excel-Datei.
// Create an instance of Workbook | |
Workbook workbook = new Workbook("High-Low-Close.xlsx"); | |
// Access the first worksheet. | |
Worksheet worksheet = workbook.Worksheets[0]; | |
//Create High-Low-Close-Stock Chart | |
int pieIdx = worksheet.Charts.Add(ChartType.StockHighLowClose, 5, 6, 20, 12); | |
// Retrieve the Chart object | |
Chart chart = worksheet.Charts[pieIdx]; | |
// Set the legend can be showed | |
chart.ShowLegend = true; | |
// Set the chart title name | |
chart.Title.Text = "High-Low-Close Stock"; | |
// Set the Legend at the bottom of the chart area | |
chart.Legend.Position = LegendPositionType.Bottom; | |
// Set data range | |
chart.SetChartDataRange("A1:D9", true); | |
// Set category data | |
chart.NSeries.CategoryData = "A2:A9"; | |
// Set the marker with the built-in data | |
chart.NSeries[2].Marker.MarkerStyle = ChartMarkerType.Dash; | |
chart.NSeries[2].Marker.MarkerSize = 20; | |
chart.NSeries[2].Marker.Area.Formatting = FormattingType.Custom; | |
chart.NSeries[2].Marker.Area.ForegroundColor = Color.Maroon; | |
// Fill the PlotArea area with nothing | |
chart.PlotArea.Area.FillFormat.FillType = FillType.None; | |
// Save the Excel file | |
workbook.Save("out.xlsx"); |