最近要用到TCHART,以下是找的资料复制过来的一段代码
procedure TfrmCharPrjAsset.CreateChart(Title : string;GPAsset,ZQAsset,HGAsset,Cash:Extended);
var
CharPrjAsset : TChart;
series : TPieSeries ;
begin
CharPrjAsset := TChart.Create(Application);
Series := TPieSeries.Create(Application);
try
CharPrjAsset.Parent := pnlChars;
CharPrjAsset.Name := 'char'+ Title;
CharPrjAsset.Title.Font.Size := 16;
CharPrjAsset.Title.Text.Text := Title;
CharPrjAsset.OnDBlClick := pnlChars.OnClick ;
CharPrjAsset.BevelInner := bvRaised;
CharPrjAsset.BevelOuter := bvLowered;
CharPrjAsset.Legend.TextStyle := ltsRightValue;
CharPrjAsset.Legend.Alignment := labottom ;
CharPrjAsset.Legend.ShadowSize := 0;
CharPrjAsset.Legend.ColorWidth := 5;
CharPrjAsset.Legend.Font.Size := 8 ;
CharPrjAsset.Left:= CharPrjAsset.Parent.ClientRect.Left+1 ;
CharPrjAsset.Top := CharPrjAsset.Parent.ClientRect.Top-1;
series.Name := 'series'+ Title;
series.Circled := true;
series.ParentChart := CharPrjAsset;
series.Marks.ArrowLength := 1;
series.Marks.Style := smsPercent;
if (GPAsset+ZQAsset+HGAsset+Cash)=0 then
begin
// messagedlg('组合'+Title+'资产为零!这可能是个新组合.',mtwarning,[ mbOK ],0);
series.AddPie(GPAsset,'股票资产',clWhite);
series.AddPie(ZQAsset,'债券资产',clWhite);
series.AddPie(HGAsset,'回购资产',clWhite);
series.AddPie(Cash,'现金',clWhite);
end
else
begin
series.AddPie(GPAsset,'股票资产',clRed);
series.AddPie(ZQAsset,'债券资产',clYellow);
series.AddPie(HGAsset,'回购资产',clBlue);
series.AddPie(Cash,'现金',clGreen);
end;
except
on E:exception do
begin
CharPrjAsset.Free;
series.Free;
end;
end;
end;