af0815 hat geschrieben:Es muss nicht zwingend ein Startdatum bzw. Enddatum sein. Nur dann wen die x-Achse als Datum oder Zeit formatiert ist (meistens).
Kein Problem, die Koordinaten sind Double, und um die Zeit/Datum-Formatierung muss man sich selbst kümmern (TDateTimeIntervalChartSource).
af0815 hat geschrieben:Ist es auch dann möglich nicht nur die Färbung sondern auch das Füllmuster zu beeinflussen.
Auch kein Problem. TAChart stellt üblicherweise einen kompletten Brush zur Verfügung, und das hätte ich sowieso beibehalten.
af0815 hat geschrieben:
Wenn ich mehre Werte pro Index angebe werden die auch auf einer Linie gezeichnet und können auch miteinander verbunden werden ?
Gut zu wissen. Das heißt, dann dass die Balkenindices in ein Array müssen. Ein Funktionsaufruf, um einen Balken aufzunehmen, könnte dann so lauten:
Code: Alles auswählen
var
startvalue, endvalue: Double;
balkenindex: Integer;
verbundenmit : array of integer;
beschreibung: String;
farbe: TColor;
GanttSeries.AddGantt(startvalue, endvalue, balkenindex, verbundenmit, beschreibung, farbe);
wobei die "verbundenmit[..]" Werte größer als "balkenindex" sein müssen. Was wenn nicht? Trotzdem zeichnen? Ignorieren? Exception?
Muss ans Ende der Verbindungslinie ein optionaler Pfeil? Bei Delphi verlaufen die Verbindungslinien aus der Mitte der Schmalseite des Balkenendes in die Mitte der Schmalseite des betreffenden Balkenanfangs. Ist so ok? Oder soll es auch eine Option geben, die Line am Anfang auf der Längsseite aufhören zu lassen, so wie in dem oben von mir erwähnten Chart?
Die interne Datenstruktur der Datenpunkte, TChartDataItem, hat einen X-Wert und beliebig viele Y-Werte. Den Balkenindex werde ich dem X-Wert und die anderen Zahlen den Y-Werten zuordnen; intern wird das ganze dann automatisch gedreht, so dass die Balkenindices auf die y-Achse gelangen. Diese Konvention muss man dann wissen, wenn man den von den Vorfahren geerbten Aufruf "AddXY(x, y, ylist, label, color)" verwenden will.