Bonjour,
Impossible d’appliquer de la couleur à la légende.
lorsque je crée une seule série la couleur de la légende s’applique correctement, en revanche si je crée une deuxième série les couleurs de la légende ne sont plus appliquées.
Y a-t-il un paramètre à appliquer pour avoir toutes les couleurs des séries dans la légende ?
{ Initialize }
{ BuildChart }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 { Initialize_Chart } procedure TFChart.Initialize_Chart; var I, ICol, IRow: Integer; begin for I := 0 to Chart.SeriesCount - 1 do Chart.Series[I].Clear; for ICol := 0 to Data.ColCount - 1 do for IRow := Data.FixedRows to Data.RowCount - 1 do Data.Cells[ICol, IRow] := EmptyStr; end; { Initialize_ListClrChart } procedure TFChart.Initialize_ListClrChart; var I: Integer; begin with ListClrChart do begin Clear; for I := 0 to Chart.SeriesCount - 1 do Items.AddObject('Série ' + InttoStr(I + 1), TObject(clWhite)); Items.AddObject('Quadrillage', TObject(clSilver)); Items.AddObject('Axes', TObject(clBlack)); Items.AddObject('Bordure', TObject(clBlack)); Items.AddObject('Marqueurs de données', TObject(clBlack)); end; end; { Initialize_ListNameSeries } procedure TFChart.Initialize_ListNameSeries; var I: Integer; begin for I := 0 to ListNameSeries.RowCount - 1 do begin ListNameSeries.Cells[1, I] := EmptyStr; Chart.Series[I].Title := 'Série ' + InttoStr(I + 1); ListNameSeries.Refresh; end; end;
{ Form Create }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 procedure TFChart.BuildChart; var I, IRow, ICol: Integer; begin for I := 0 to Chart.SeriesCount - 1 do Chart.Series[I].Clear; for I := 0 to Chart.SeriesCount - 1 do begin if not Chart.Series[I].Visible then continue; Chart.Series[I].Title := ListNameSeries.Cells[1, I]; if Chart.Series[I].Title = EmptyStr then Chart.Series[I].Title := 'Série ' + InttoStr(I + 1); for IRow := Data.FixedRows to Data.RowCount - 1 do begin ICol := I + 1; if Data.Cells[ICol, IRow] <> EmptyStr then Chart.Series[I].Add(StrToInt(Data.Cells[ICol, IRow]), Data.Cells[I, IRow], TColor(ListClrChart.Items.Objects[I])); end; end; Chart.Refresh; end;
{ Form Show }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 with Chart do begin color := clWindow; Title.Clear; Hover.Visible := False; for I := 0 to MaxSeries do // 4 Series begin with AddSeries(TBarSeries.Create(Self)) do begin Marks.Visible := False; SeriesColor := clWhite; end; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Initialize_Chart; Initialize_ListClrChart; Initialize_ListNameSeries;
Merci
Partager