TChart création nouvelle série

PhilLu Messages postés 251 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 11 mai 2021 - 31 oct. 2016 à 21:00
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 1 nov. 2016 à 20:48
Bonjour,
Je souhaite créer un nombre de séries au runtime en fonction des besoins.
Au démarrage j'ai une série et j'ajoute le nombre de série nécessaire à l'aide de cette méthode:
Chart_congels.AddSeries(TPointSeries.Create(self));

malheureusement la série génère le même type de courbe mais les points ont alors la taille par défaut et pas la même taille que la première série :-/

J'ai lors essayé de générer la nouvelle série en clonant la première:
Chart_frigos.AddSeries(CloneChartSeries(Chart_frigos.Series[0]));

cette fois la taille des points est ok mais la couleur est identique à la première série ainsi que son nom :-(
Je n'arrive pas ensuite à assigner une couleur aléatoire (mais différentes de celles déjà utilisées) ni à nommer cette série dynamiquement...


Qui peut m'aider sur ce coup???

Merci pour vos suggestions ;-)
PhilLu

2 réponses

papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
Modifié par NHenry le 1/11/2016 à 18:58
salut
est ce que tu cherche quelque chose comme ça
procedure TForm2.Button1Click(Sender: TObject);
var
  LineSeries: TLineSeries;
begin
  Chart1.Parent := Self;
  LineSeries    := TLineSeries.Create(Chart1);
  Chart1.AddSeries(LineSeries);

//  LineSeries.Color := clRed;
  LineSeries.SeriesColor := clBlue;

  LineSeries.Add(5,'Titi',clred);
  LineSeries.Add(10,'Toto',clBlue);

 // LineSeries.FillSampleValues(20);

end;


papyvore
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
1 nov. 2016 à 20:48
Salut,

avec ce bout de code je clone les séries de Chart1 vers Chart2
et au passage je change la couleur et le titre ...
procedure TChartDemoMainForm.Button2Click(Sender: TObject);
var
  aLS: TChartSeries;
  I: Integer;
begin
  aLS := TChartSeries.Create(Chart2);
  Chart2.SeriesList.Clear;
  for I := 0 to Chart1.SeriesCount-1 do
    begin
      aLS := CloneChartSeries(Chart1.Series[I]);
      aLS.SeriesColor := RandomRange(255, $ffffff);
      aLS.Title := IntToStr(I+1) + ' Toto';
      Chart2.AddSeries(aLS);
    end;
end;
tout comme papyvore je ne sais pas si j'ai bien compris ta demande
mais peut être que ça t'aidera ;)
0
Rejoignez-nous