谢谢!!

解决方案 »

  1.   

    给一过程给你看:
    //xlabels,ylabels是两个Tstrings类型的变量,分别存放横坐标和纵坐标的数值;
    procedure TForm_SJFX_XKXHTHFX.ShowChart_Man(itype: integer; xlabel, ylabel: string);
    var
      vPie: TPieSeries;
      vBar: TBarSeries;
      vLine: TLineSeries;
      i: integer;
    begin
      while DBChart.SeriesCount > 0 do DBChart.SeriesList[0].Destroy;
      DBChart.Title.Text.Clear;
      DBChart.Title.Text.Add(ChartTitle);
      DBChart.LeftAxis.Title.Caption := ylabel;
      DBChart.BottomAxis.Title.Caption := xlabel;  if itype = 0 then
      begin
        vBar := TBarSeries.Create(nil);
        vBar.ParentChart := DBChart;
        vBar.XLabelsSource := xlabel;
        vBar.Marks.Style := smsValue;
        DBChart.AddSeries(vBar);
      end
      else if itype = 2 then
      begin
        vPie := TPieSeries.Create(nil);
        vPie.ParentChart := DBChart;
        vPie.XLabelsSource := xlabel;
        vPie.Marks.Style := smsLabelPercent;
        DBChart.AddSeries(vPie);
      end
      else
      begin
        vLine := TLineSeries.Create(nil);
        vLine.ParentChart := DBChart;
        vLine.XLabelsSource := xlabel;
        vLine.Marks.Style := smsLabelPercent;
        DBChart.AddSeries(vLine);
      end;
      for i := 0 to XLabels.Count - 1 do
        DBChart.Series[0].Add(strtofloat(xLabels[i]), YLabels[i],clRed);
      end;
    end;