Laut Dokumentation übergibst du einen XLabel als zweiten Parameter der Methode Add() beim Befüllen deiner ChartSeries. Wenn du auf diesen Wert im Ereignis OnShowHint zugreifen willst, dann so:
Delphi-Quellcode:
...
HintStr := cs.XLabel[index] + ' -- ' + cs.YValueToText(cs.YValues[index])
+ ' % -- Gruppe :' + cs.Title;
...
Du kannst die cs.XLabel aber auch getrennt setzen. Eine letzte Möglichkeit zur Bestimmung von MarkText ist das Ereignis ChartSeries.OnGetMarkText - bei dieser Methode kann der Anzeigetext erzeugt werden, wenn er gebraucht wird - just in time.
Du musst prüfen, ob du an irgendeiner Stelle deine vermeintlich korrekt gesetzten Anzeigetexte überschreibst, indem du eine dieser Alternativen verwendest.
marabu
PS: Im Regelfall gilt natürlich XLabel[i] = ValueMarkText[i], aber der Zugriff über XLabel ist bei deiner Art des Befüllens semantisch sauberer.