最近开发要使 用图表,Delphi里提供了图表开发的控件TChart,可惜帮助里没有DEMO代码,上网搜索了一下,竟然发现文章也少的可怜。没办法,自己丰衣足 食,写代码试用,看帮助,读代码,搞了半天大概弄明白了TChart的使用方式,下面写一下几个常见问题的解决。
1.如何写一个TChart的Hello World? 放一个控件到窗体上,然后写代码加入一个折线数据序列: var Series: TLineSeries; begin Series := TLineSeries.Create(Chart1); Series.Add(100, 'aaa', clRed); Series.Add(200, 'AAA', clGreen); Chart1.AddSeries(Series); end; 这样就会生成一个简单的折线图表,要生成其它类型的数据图表,可以添加不同的数据序列(各种图表的序列类型可以参考帮助文档)。 2.如何设置图表的标题? TChart组件提供了Title属性可以这是图表的标题,包括标题的内容、字体、对齐方式等都可以通过Title属性设置。 最简单的设置方式: Chart1.Title.Text.Text := '图表的标题'; 3.如何修改图表的背景颜色和整个图表的颜色? TChart是一个窗体控件,可以通过修改Color属性设置图表颜色,这是一种最简单的方式: Chart1.Color := clWhite; 修改图表部分的背景色可以通过BackColor属性来实现: Chart1.BackColor := clGreen; 此外,TChart还提供了渐变的背景支持,通过Gradient控制: Chart1.Gradient.Visible := True; Chart1.Gradient.Direction := gdFromTopLeft; Chart1.Gradient.StartColor := clGreen; Chart1.Gradient.EndColor := clYellow; 4.TChart的3D效果如何控制? TChart提供了View3D属性,控制是否使用3D效果,View3dWalls属性控制是否显示左侧的3D墙效果 5.如何不显示图表控件生成图表? 很遗憾,TChart是一个Windows窗体控件,必须依附一个窗体或Windows控件才能使用。如果要不显示TChart的话,可以将TChart的Visible属性设为False来使用。下面的例子创建了一个隐藏的TChart来生成图表: var Chart: TChart; S: TChartSeries; TmpFile: string; begin Chart := TChart.Create(nil); try Chart.Parent := Application.MainForm; Chart.Visible := False; Chart.Title.Text.Text := '测试图表'; S := TBarSeries.Create(Chart); Chart.AddSeries(S); S.Title := '嘿嘿'; S.AddXY(1, 56, '一月', clGreen); S.AddXY(2, 67, '二月', clYellow); S.AddXY(3, 34, '三月', clBlue); S.AddXY(4, 78, '四月', clRed); Chart.View3D := False; Chart.BackColor := clWhite; Chart.Gradient.StartColor := clWhite; Chart.Gradient.EndColor := clWhite; Chart.Gradient.Visible := True; TmpFile := Application.ExeName + '.bmp'; Chart.SaveToBitmapFile(TmpFile); Image1.Picture.LoadFromFile(TmpFile); finally Chart.Free; end; end;