Moin,
ich erstelle mittels Chart die untere Grafik. Links ist meins das so aussehen sollte wie das rechts daneben (welches mit Excel gemacht wurde). Die Koordinaten lade ich aus einem bzw 2 Arrays. Die Funktion dazu steht hier:
Spoiler anzeigen
Die Striche, die es zwischendrin gibt, werde ich wegbekommen, indem ich die entsprechenden Koordinaten nicht miteinander verbinden lasse, das ist klar. Mein eigentliches Problem besteht darin, dass der erste Quadrant noch recht zügig gezeichnet wird, dann aber immer langsamer wird. Das ganze Teil dauert 2min zu zeichnen, währenddessen ist das Programm logischerweise auch "eingefroren". Was kann ich dagegen machen?
Ich habe mir überlegt, es im Hintergrund zeichnen zu lassen und einfach so lange eine Progressbar einzublenden. Sobald es fertig ist, verschwindet die Progressbar und das fertige Bild wird angezeigt. Allerdings ist das mehr behelfsmäßig wie ich finde.
ich erstelle mittels Chart die untere Grafik. Links ist meins das so aussehen sollte wie das rechts daneben (welches mit Excel gemacht wurde). Die Koordinaten lade ich aus einem bzw 2 Arrays. Die Funktion dazu steht hier:
VB.NET-Quellcode
- Private Sub drawPolkontur()
- Polkontur.Series.Clear()
- Polkontur.ChartAreas(0).AxisX.MajorGrid.LineColor = Color.LightGray
- Polkontur.ChartAreas(0).AxisY.MajorGrid.LineColor = Color.LightGray
- For i As Integer = 0 To 635 'Modul1.Xpol.Length - 1
- Polkontur.Series.Add(New Series("Plot " & i))
- Polkontur.Series(i).Points.AddXY(Xpol(i), Ypol(i))
- Polkontur.Series(i).Points.AddXY(Xpol(i + 1), Ypol(i + 1))
- Polkontur.Series(i).Color = Color.Black
- Polkontur.Series(i).BorderWidth = 2
- Polkontur.Series(i).ChartType = SeriesChartType.Line
- Polkontur.Update()
- Next
- End Sub
Die Striche, die es zwischendrin gibt, werde ich wegbekommen, indem ich die entsprechenden Koordinaten nicht miteinander verbinden lasse, das ist klar. Mein eigentliches Problem besteht darin, dass der erste Quadrant noch recht zügig gezeichnet wird, dann aber immer langsamer wird. Das ganze Teil dauert 2min zu zeichnen, währenddessen ist das Programm logischerweise auch "eingefroren". Was kann ich dagegen machen?
Ich habe mir überlegt, es im Hintergrund zeichnen zu lassen und einfach so lange eine Progressbar einzublenden. Sobald es fertig ist, verschwindet die Progressbar und das fertige Bild wird angezeigt. Allerdings ist das mehr behelfsmäßig wie ich finde.