TChart création nouvelle série

Messages postés
249
Date d'inscription
lundi 9 novembre 2009
Statut
Membre
Dernière intervention
6 mai 2018
- - Dernière réponse : Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
- 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
Afficher la suite 

2 réponses

Messages postés
174
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
7 août 2019
4
0
Merci
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
Commenter la réponse de papyvore
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
32
0
Merci
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 ;)
Commenter la réponse de Cirec