TChart création nouvelle série

PhilLu 248 Messages postés lundi 9 novembre 2009Date d'inscription 27 décembre 2017 Dernière intervention - 31 oct. 2016 à 21:00 - Dernière réponse : Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 3 avril 2018 Dernière intervention
- 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

Répondre au sujet
papyvore 155 Messages postés samedi 15 novembre 2003Date d'inscription 5 avril 2018 Dernière intervention - Modifié par NHenry le 1/11/2016 à 18:58
0
Utile
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
Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 3 avril 2018 Dernière intervention - 1 nov. 2016 à 20:48
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.