最近开发要使 用图表,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;
分析报告1.1 [概述] TChart是delphi里面一个标准的图形显示控件。它可以静态设计(at design time)也可以动态生成。
1.2 [继承关系] Tobject
TPersistent
TComponent
TControl
TCustomControl
TWedgetControl
TChart
TCustomPanel
1.3 [tips]1.3.1 &nb