Ich bin auf einer Mission, ein Candlestick-Diagramm mit MSChart in einem Windows-Formular zu machen. Es ist mir bereits gelungen, ein 3D-Balkendiagramm ohne Probleme zu erstellen. Aber nach einer langen Suche im Internet, Microsoft Quellcode (WinSamples) und viel Kopfschütteln kann ich nicht den richtigen Weg finden, ein Candlestick-Diagramm zu erstellen.Candlestick mehrere Y-Werte
Was mir helfen könnte, ist ein klares Beispiel für das Hinzufügen einer Serie zu dem Diagramm mit mehreren Y-Werten oder einer Korrektur meines Codes (wenn ich laufe, wird nichts debuggt, außer für die Legendenbeschriftung).
Ein Bonus wäre, dass das Beispiel auf OleDB basiert (meine Werte sind in einer Access-Datenbank).
Also meine Frage: Wenn Sie Erfahrung mit dem Erstellen eines Candlestick-Diagramms in C# in einer Windows-Form haben, können Sie mir einen Hinweis geben oder (noch besser) können Sie mir einen C# -Code zur Verfügung stellen?
Hier ist meine aktuelle (nicht funktioniert) Code:
using System.Windows.Forms.DataVisualization.Charting;
public partial class CandleStick : Form
{
public CandleStick()
{
InitializeComponent();
}
private void CandleStick_Load(object sender, EventArgs e)
{
GrafiekLaden();
}
public void GrafiekLaden()
{
Koers k = new Koers();
// This method fills up a list, the data comes from my database
// it contains Date, High, Low, Open, Close
k.meerdereOphalen();
Series price = new Series();
chart1.Series.Add(price);
// Set series chart type
chart1.Series["price"].ChartType = SeriesChartType.Candlestick;
// Set the style of the open-close marks
chart1.Series["price"]["OpenCloseStyle"] = "Triangle";
// Show both open and close marks
chart1.Series["price"]["ShowOpenClose"] = "Both";
// Set point width
chart1.Series["price"]["PointWidth"] = "1.0";
// Set colors bars
chart1.Series[0]["PriceUpColor"] = "Green";
chart1.Series[0]["PriceDownColor"] = "Red";
for (int i = 0; i < k.Lijst.Count; i++)
{
// adding date and high
chart1.Series["price"].Points.AddXY(DateTime.Parse(k.Lijst[i].Datum), k.Lijst[i].Hoog);
// adding low
chart1.Series["price"].Points[i].YValues[1] = k.Lijst[i].Laag;
//adding open
chart1.Series["price"].Points[i].YValues[2] = k.Lijst[i].PrijsOpen;
// adding close
chart1.Series["price"].Points[i].YValues[3] = k.Lijst[i].PrijsGesloten;
}
}
Vielen Dank! Es stellt sich heraus, dass meine Datenbank einige leere Werte zurückgegeben hat (behoben) UND mit Ihren zusätzlichen Tipps/Korrekturen habe ich es endlich geschafft, mein Candlestick-Diagramm zu erstellen. Du bist der beste! – Jens