请教 TVtChart或TDBChart的用例

解决方案 »

  1.   

    参考一下:
    procedure TForm_SJFX_XSDDFX.ShowChart(itype: integer; Dset: TQuery; xlabel,
      yvalues: 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 := yvalues;
      DBChart.BottomAxis.Title.Caption := xlabel;
      //
      if itype = 0 then
      begin
        vBar := TBarSeries.Create(nil);
        vBar.ParentChart := DBChart;
        vBar.DataSource := Dset;
        vBar.YValues.ValueSource := yvalues;
        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.DataSource := Dset;
        vPie.YValues.ValueSource := yvalues;
        vPie.XLabelsSource := xlabel;
        vPie.Marks.Style := smsLabelPercent;
        DBChart.AddSeries(vPie);
      end
      else
      begin
        vLine := TLineSeries.Create(nil);
        vLine.ParentChart := DBChart;
        vLine.DataSource := Dset;
        vLine.YValues.ValueSource := yvalues;
        vLine.XLabelsSource := xlabel;
        vLine.Marks.Style := smsLabelPercent;
        DBChart.AddSeries(vLine);
      end;
      

  2.   

    最好用TDBChart,不要用TVtChart.
    因为TDBChart跟数据绑定较好!
      

  3.   

    dbchar则直接连接就可以啦
    /////添加内容
    Chart1.Series[0].Clear;
    Chart1.Series[0].Add(strtoint(Arr[0,1]),'单位',clRed);
    //改变类型
    var
       aseries:TchartSeries;
    begin
         aseries:=chart1.SeriesList.Series[0];
         ChangeSeriesType(aseries,TBarSeries);
    end;