您的位置:首页 > 理论基础 > 计算机网络

TChart用法(网络收集二)

2009-03-29 09:40 393 查看
TChart使用经验小结

1、问题:通过Addxy方法给TChart添加标记(Mark)时,发现在TChart的横坐标会随着Mark而变化,后来发现通过以下方法可避免这种情况:双击TChart,点击Axis-> top or bottom ->labels,在styles中将labels的形式改为Value即可!
2、几个有用的属性:

图表上的每个点都是有索引的,就象一个数组一样,在OnClickSeries事件中有个ValueIndex属性,该属性可以得到鼠标所点击的点的索引值(必须将Series的Point设置为可见,鼠标点击到那个点时才可以触发该事件)。
xValue[index]、yValue[index]分别表示图表的索引为index的横纵坐标值,用这两个属性可以读取和设置索引为index的点的值,注意:不要用xValues和yValues,这两个属性也可以达到同样的目的,但是速度非常的慢。因为后两个在进行操作的时候可能要遍历整个图表上的值(个人观点)
在MouseDown,MouseMove,Mouseup中,可以利用xScreentoValue(x),yScreentoValue(y)得到鼠标当时所在点对应在图表上的横纵坐标值。
e.g......
private

Nowindex:Integer;

Cantuo:boolean;
........
procedure TfrmMain.Chart1ClickSeries(Sender: TCustomChart;

Series: TChartSeries; ValueIndex: Integer; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

NowIndex:=ValueIndex;

end;
procedure TfrmMain.Chart1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Cantuo:=true;
end;
procedure TfrmMain.Chart1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Cantuo:=false;

end;
procedure TfrmMain.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

if Cantuo then

begin

Series1.yValue[NowIndex]:= Series1.yScreenToValue(y) ;

end;

end;
这里即实现了可以在图表中拖动某一个点使其在纵轴上变化位置
Tchart分析报告
[align=left]1 Tchart分析报告[/align]
[align=left]1.1 [概述][/align]
[align=left] TChart是delphi里面一个标准的图形显示控件。它可以静态设计(at design time)也可以动态生成。[/align]
[align=left]1.2 [继承关系] [/align]

[align=left]TObject[/align]
[align=left] [/align]

[align=left]TPersistent[/align]
[align=left] [/align]

[align=left]TComponent[/align]
[align=left] [/align]

[align=left]TControl[/align]
[align=left] [/align]

[align=left]TCustomControl[/align]
[align=left] [/align]

[align=left]TWedgetControl[/align]
[align=left] [/align]

[align=left]TChart[/align]
[align=left] [/align]

[align=left]TCustomPanel[/align]
[align=left]1.3 [tips][/align]
[align=left]1.3.1 Pro Version支持Bezier , Contour , Radar point3D 曲线[/align]
[align=left]1.3.2支持jpeg文件的导出[/align]
[align=left]1.3.3 Chart中的Series 可以连接到Table , Query , RemoteDataset(其他数据集)[/align]
[align=left]1.3.4 TChart里的seriesactive属性可以实现对已绘制图形的显示或者隐藏[/align]
[align=left]1.3.5TChart, tchartSeries是所有具体series的父类,没有画出什么来的,用一个具体的series类来创建就可以了,比如用TLineSeriesTPieSeries TPointSeries TPointSeries等等都行[/align]
[align=left]1.3.6 TTeeFunction Component可以实现在同一个TChart里面,一个Serries对另一个Serries的统计[/align]
[align=left] [/align]
[align=left]1.4 [问题极其使用技巧][/align]
[align=left]1.4.1 TChart中如何实现只有Y轴的放大与缩小功能?[/align]
[align=left]设置BottomAxis或者LeftAxis的Automatic:=false并同时设置Minimum,Maximum属性[/align]
[align=left]1.4.2如何固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化?[/align]
[align=left]//设置底座标[/align]
[align=left] with myChart.BottomAxis do[/align]
[align=left] begin[/align]
[align=left] Automatic:=false;[/align]
[align=left] Minimum:=0;[/align]
[align=left] LabelStyle := talText;[/align]
[align=left] end;[/align]
[align=left] //设置左坐标[/align]
[align=left] with myChart.LeftAxis do[/align]
[align=left] begin[/align]
[align=left] Automatic:=false;[/align]
[align=left] Minimum:=0;[/align]
[align=left] Title.Angle:=270;[/align]
[align=left] Title.Font:=Self.Font;[/align]
[align=left] Title.Font.Charset:=ANSI_CHARSET;[/align]
[align=left] Title.Font.Name:='@宋体';[/align]
[align=left] Grid.Visible := False;[/align]
[align=left] end;[/align]
[align=left] //设置右坐标[/align]
[align=left] with myChart.RightAxis do[/align]
[align=left] begin[/align]
[align=left] Automatic:=false;[/align]
[align=left] Title.Font:=Self.Font;[/align]
[align=left] Title.Font.Charset:=ANSI_CHARSET;[/align]
[align=left] Title.Font.Name:='@宋体';[/align]
[align=left] Title.Caption:='累计百分比(%)';[/align]
[align=left] Maximum:=100;[/align]
[align=left] Minimum:=0;[/align]
[align=left] end;[/align]
[align=left]1.4.3如何删除一个图形中的一个点?[/align]
[align=left]使用Series的delete 方法[/align]
[align=left]1.4.4如何修改一个点的X或者Y 值?[/align]
[align=left]LineSeries1.YValue[3] := 27.1 ;[/align]
[align=left]{In Bubble Series}[/align]
[align=left]BubbleSeries1.RadiusValues.Value[ 8 ] := 8.1 ;[/align]
[align=left]{In Pie Series}[/align]
[align=left]PieSeries1.PieValues.Value[ 3 ] := 111 ;[/align]
[align=left]1.4.5如果横坐标是时间(日期),如何进行设置?[/align]
[align=left]{First, you need to set the DateTime property to True in the desired X and/or Y values list.}[/align]
[align=left]LineSeries1.XValues.DateTime := True ;[/align]
[align=left]{Second, use the same above described methods, but give the values as Date, Time or DateTime values}[/align]
[align=left]LineSeries1.AddXY( EncodeDate( 1996 , 1 , 23 ) , 25.4 , 'Barcelona' , clGreen );[/align]
[align=left]1.4.6如何在chart中画出的曲线某个点上标记出该点的值?[/align]
[align=left]Series.Marks.Visible:=true;[/align]
[align=left]Series.Marks.Style:=smsValue;[/align]
[align=left]1.4.7如何设置横轴或者纵轴的增长率?[/align]
[align=left]Chart.BottomAxis.Increment := DataTimeStep[ dtOneHour ] ;[/align]
[align=left]Chart.RightAxis.Increment := 1000;[/align]
[align=left]1.4.8如何对图象进行缩放?[/align]
[align=left]TChart的ZoomRect或者ZoomPercent方法 (Pie图可能不支持缩放) [/align]
[align=left]1.5 [TChart可以绘制的图形][/align]
[align=left]1.5.1 Line ( TLineSeries)[/align]
[align=left]1.5.2 FastLine (TFastLineSeries) 相对Line来说,它损耗了某些属性从而来实现快速绘制[/align]
[align=left]1.5.3 Bar (TBarSeries)[/align]
[align=left]1.5.4 Horizontal bar (THorizBarSeries)[/align]
[align=left]1.5.5 Area (TAreaSeries)[/align]
[align=left]1.5.6 Point (TPointSeries)[/align]
[align=left]1.5.7 Pie (TPieSeries)[/align]
[align=left]1.5.8 Arrow (TArrowSeries)[/align]
[align=left]1.5.9 Bubble (TBubbleSeries)[/align]
[align=left]1.5.10 Gantt (TGanttSeries)[/align]
[align=left]1.5.11 Sharp (TChartShape)[/align]
[align=left]1.6 [TChart的实时绘制] [/align]
[align=left]实时绘制对机器性能要求比较高,因此我们在编程的时候要注意下面几个方面:[/align]
[align=left]ü 使用2D图形[/align]
[align=left]ü 是Chart尽可能包含少的点[/align]
[align=left]ü 如果需要,可以移除(remove)chart的legend(?????)和Title[/align]
[align=left]ü 使用默认的字体和字体大小[/align]
[align=left]ü 使用FastLineSeries[/align]
[align=left]ü 使用实体(solid)画笔和画刷格式[/align]
[align=left]ü 尽量避免使用圆形和环行bar样式[/align]
[align=left]ü 不要使用背景图片和渐变效果样式[/align]
[align=left]ü 把Chart的BevelInner和BevelOUter属性设置为bcNone[/align]
[align=left]ü 如果需要,把TChart的AxisVisible属性设置为False[/align]
[align=left]ü 把BufferedDisplay设置为false可以加速chart的重绘 [/align]
[align=left]1.7 [Scrolling][/align]
[align=left] TChart有4中scroll选择(AllowPanning属性),分别是 不允许Scroll ( pmNone) ; 水平Scroll (pmHorizontal) ; 垂直Scroll (pmVertical) ; 水平和垂直Scroll (pmBoth)[/align]
[align=left]Procedure Scroll(Const Offset:Double; CheckLimits:Boolean);[/align]
[align=left]例子如下:[/align]
[align=left] Chart1.BottomAxis.Scroll( 1000, True );这段代码也等同于[/align]
[align=left]With Chart1.BottomAxis do[/align]
[align=left]Begin[/align]
[align=left] Automatic:=false;[/align]
[align=left] SetMinMax( Minimum+1000, Maximum+1000 );[/align]
[align=left] End;[/align]
[align=left]1.8 [TChart中的全局变量][/align]
[align=left]1.9 ü TeeScrollMouseButton := mbRight;设置鼠标右键为TChart滚动键(默认)[/align]
[align=left]ü TeeScrollKeyShift := [ ssCtrl ]; 要按住Control键才可以使Scroll滚动[/align]
[align=left] [/align]
[align=left]1.9 [TChartSerries使用技巧][/align]
[align=left]1.9.1运行时候创建一个Serries, 三种方法:[/align]
[align=left]1.Var MySeries : TBarSeries ;[/align]
[align=left]MySeries := TBarSeries.Create( Self );[/align]
[align=left]MySeries.ParentChart := Chart1 ;[/align]
[align=left] 2.Chart1.AddSeries( TBarSeries.Create( Self ) );[/align]
[align=left] 3.Var MyClass : TChartSeriesClass; [/align]
[align=left]MyClass := TBarSeries ;[/align]
[align=left]Chart1.AddSeries( MyClass.Create( Self ) );[/align]
[align=left]1.9.2获得TChart中的Serries数组,也有三种方法[/align]
[align=left]1.MySeries := Chart1.SeriesList [ 0 ][/align]
[align=left]2.MySeries := Chart1.Series [ 0 ][/align]
[align=left]3.MySeries := Chart1 [ 0 ][/align]
[align=left]1.9.3 SerriesCount属性获得SeriesListSeries的个数[/align]
[align=left]1.9.4隐藏TChart中的Series有三种方法,但是效果不等价[/align]
[align=left]1. Series1.Active:=False; 仅仅隐藏,当设置为true的时候还可以显示出来[/align]
[align=left]2. Series1.ParentChart:=nil ; 隐藏,重新设置ParentChart为TChart时候可以显示[/align]
[align=left]3. Series1.Free; 删除了Series. 不可以恢复[/align]
[align=left]1.9.5 TChart中的数据排序[/align]
[align=left] With Series1 do[/align]
[align=left]begin[/align]
[align=left] YValues.Order:=loAscending;[/align]
[align=left] YValues.Sort;[/align]
[align=left] Repaint;[/align]
[align=left]end;[/align]
[align=left]Ø 定位一个点(Loacate a point)[/align]
[align=left]Series1.XValues.Locate(123);[/align]
[align=left]Ø XValue和YValue都拥有的属性Total , TotalABS , MaxValue , MinValue[/align]

[align=left]teechart笔记(Delphi)[/align]
[align=left]来自:bobo 日期:2006-12-4 23:09:07 全文阅读:loading... 分类:学习札记[/align]
[align=left]1.series的方法[/align]
[align=left]1.1 ColorRange设定一定范围的点和线的颜色。[/align]
[align=left]procedure ColorRange(AValueList: TChartValueList; Const FromValue, ToValue: Double; AColor: TColor);[/align]
[align=left]其中:The TChartValueList component is the container of point values.[/align]
[align=left] Each Series component has one or more values lists.[/align]
[align=left] The XValues and YValues properties are TChartValueList components.[/align]
[align=left] 可以是XValues 或YValues;FromValue, ToValue是范围。AColor是点的颜色。 [/align]
[align=left] UnitTeEngine[/align]
[align=left] DescriptionThis method will change the Color of a specified range of points.[/align]
[align=left] The FromValue and ToValue parameters are the beginning and end of the specified AValueList range.[/align]
[align=left] [/align]
[align=left]AValueList can be any Series ValueList such as: XValues, YValues, etc.[/align]
[align=left] 对某一特定的点:可以用series.valuecolor[index]属性[/align]
[align=left]property ValueColor[Index: Integer]: TColor;[/align]
[align=left]Use the ValueColor property to get or set the Color of a point at a particular position. Index gives the position of the point, where 0 is the first, 1 is the second, and so on.[/align]
[align=left] 不过这两个方法都会导致线的颜色也会改变:改变的模式是若下一点出界,则从此点到下一点的连线的颜色变为指定点的颜色。[/align]
[align=left] 用这种方法可以改变各个点的形状,result即是具体点的形状。[/align]
[align=left]function TForm1.Series1GetPointerStyle(Sender: TChartSeries;[/align]
[align=left] ValueIndex: Integer): TSeriesPointerStyle;[/align]
[align=left]begin[/align]
[align=left] if ValueIndex mod 2=0 then result:=psRectangle[/align]
[align=left] else result:=psTriangle;[/align]
[align=left] end;[/align]
[align=left] 1.2 CalcXPosValue 把某一轴X/Y轴的值,转化为窗体的像素值(整型)。[/align]
[align=left]CalcXPosValue(Const Value: Double): Integer;[/align]
[align=left] UnitTeEngine[/align]
[align=left] DescriptionReturns the pixel Screen Horizontal coordinate of the specified Value.[/align]
[align=left]for example:[/align]
[align=left]procedure TForm1.Chart1AfterDraw(Sender: TObject);[/align]
[align=left]var tmp : Integer;[/align]
[align=left]begin[/align]
[align=left] tmp:=Series1.CalcPosValue( 123 );[/align]
[align=left] with Chart1.Canvas do[/align]
[align=left] Rectangle(tmp-5,tmp-5,tmp 5,tmp 5);[/align]
[align=left]end;[/align]
[align=left] 1.3 画水平直线Chart1AfterDraw的时间中[/align]
[align=left]Procedure TForm1.DBChart1AfterDraw(Sender: TObject);[/align]
[align=left]begin[/align]
[align=left]drawLimits(ChrtNum, width: integer; Value: Double; color: TColor);[/align]
[align=left]end;[/align]
[align=left] drawLimits(ChrtNum, width: integer; Value: Double; color: TColor);[/align]
[align=left]var[/align]
[align=left] PixValue:integer; [/align]
[align=left]begin[/align]
[align=left]with dbcht1.Canvas do[/align]
[align=left] begin[/align]
[align=left] PixValue := seriesx.CalcYPosValue(Value);[/align]
[align=left] if (PixValue<dbcht1.ChartRect.Top) or (PixValue>dbcht1.ChartRect.Bottom) then//判断是否已经超出dbcht1.ChartRect的范围。[/align]
[align=left] Pen.Color:=dbcht1.Color[/align]
[align=left] else[/align]
[align=left] Pen.Color := color;[/align]
[align=left] Pen.Width := width;[/align]
[align=left] MoveTo(dbcht1.ChartRect.Left, PixValue);[/align]
[align=left] LineTo(dbcht1.ChartRect.Right, PixValue);[/align]
[align=left] end;[/align]
[align=left]end; [/align]
[align=left]1.4 通过函数function来画直线/各种自定义曲线;[/align]
[align=left]series|dataSource|function. 在object treeView对象观察器中 series1|TeeFunction1 的OnCalculate事件中添加公式[/align]
[align=left]procedure TForm1.TeeFunction1Calculate(Sender: TCustomTeeFunction;[/align]
[align=left] const x: Double; var y: Double);[/align]
[align=left]begin[/align]
[align=left] y:=50;[/align]
[align=left] //y:=Sin(x/10);[/align]
[align=left]end;[/align]
[align=left] 1.5 取消chart的网格[/align]
[align=left]在chart|axis|Ticks|grid…中操作,此操作针对某一轴而言,如leftaxis,对于bottomaxis要选择它再操作。[/align]
[align=left] 1.6 mark tips显示数据标签的chart工具。[/align]
[align=left]设定自定义的标签的方法:[/align]
[align=left]设定一个单元局部变量 MarkText:string[/align]
[align=left]在chart的onMouseMove中添加事件。[/align]
[align=left]procedure TfrmVChart.dbcht1MouseMove(Sender: TObject; Shift: TShiftState;[/align]
[align=left] X, Y: Integer); [/align]
[align=left] var tmp: Integer; [/align]
[align=left] begin [/align]
[align=left] tmp := SeriesX.Clicked(x, y);//返回该点的所在的series上序号,从0开始。 [/align]
[align=left] if tmp = -1 then //没有点中曲线上的点。 [/align]
[align=left] labelText := '' [/align]
[align=left] else [/align]
[align=left] begin [/align]
[align=left] MarkText := '序号:' FloatToStr(SeriesX.XValue[tmp]) #13 '数值:'; [/align]
[align=left] MarkText := labelText FormatFloat('#,##0.####',SeriesX.YValue[tmp]) #13 'XUCL:' FormatFloat('#,##0.####',XUCL); [/align]
[align=left] MarkText := labelText #13 'XCL :' FormatFloat('#,##0.####',XCL) #13 'XLCL:' FormatFloat('#,##0.####',XLCL); [/align]
[align=left] end; [/align]
[align=left] end; [/align]
[align=left] 再在marktipstools的GetText事件中添加代码,修改要显示的值。 [/align]
[align=left] procedure TfrmVChart.ChartTool1GetText(Sender: TMarksTipTool; [/align]
[align=left] var Text: string);[/align]
[align=left]begin[/align]
[align=left] Text := MarkText;[/align]
[align=left]end;[/align]
[align=left] 1.7 自定义轴的标签(Label)[/align]
[align=left]procedure TAxisItemsDemo.FormCreate(Sender: TObject);[/align]
[align=left]begin[/align]
[align=left] inherited;[/align]
[align=left] Series1.AddArray([200,0,123,300,260,-100,650,400]);//添加数据[/align]
[align=left] AddCustomLabels;[/align]
[align=left]end;[/align]
[align=left] Procedure TAxisItemsDemo.AddCustomLabels;[/align]
[align=left]begin[/align]
[align=left] with Chart1.Axes.Left do[/align]
[align=left] begin[/align]
[align=left] Items.Clear; // remove all custom labels//删除原有的标签。[/align]
[align=left] // add custom labels[/align]
[align=left] Items.Add(123,'Hello').Font.Size:=16;[/align]
[align=left] Items.Add(466,'Good'#13'Bye').Transparent:=False;[/align]
[align=left] Items.Add(300);[/align]
[align=left] with Items.Add(-100) do //标签的一些属性。[/align]
[align=left] begin[/align]
[align=left] Transparent:=False;[/align]
[align=left] Transparency:=50;[/align]
[align=left] Color:=clBlue;[/align]
[align=left] end;[/align]
[align=left] end;[/align]
[align=left]end;[/align]
[align=left] 1.8 teefunction,自定义函数的功能。[/align]
[align=left]属性:munPoints:计算次数[/align]
[align=left] Period:两次计算之间的x值的增量[/align]
[align=left] starX:X的开始值。[/align]
[align=left] periodStyle:period的方式,当是datetime类型时,很有用。如:Period:DateTimeStep[ dtOneMonth ],或DateTimeStep[ dtOneDay ][/align]
[align=left] [/align]
[align=left]1.9 teefunction的periodStyle[/align]
[align=left]So, for example you can now plot the, for example, monthly average of sales function just using a normal Average function on a date-time source series and setting the function period to one month :[/align]
[align=left] { Place a Series1 and fill it with datetime data values at runtime (or from a database) }[/align]
[align=left] Series2.SetFunction( TAverageTeeFunction.Create ) ;[/align]
[align=left]Series2.FunctionType.PeriodStyle:=psRange;[/align]
[align=left]Series2.FunctionType.Period:=DateTimeStep[ dtOneMonth ];[/align]
[align=left]Series2.DataSource:=Series1 ;[/align]
[align=left] This will result in several points, each one showing the average of each month of data in Series1.[/align]
[align=left]It's mandatory that points in the source Series1 should be sorted by date when calculating functions on datetime periods.[/align]
[align=left] The range can also be used for non-datetime series:[/align]
[align=left] Series2.SetFunction( TAverageTeeFunction.Create ) ;[/align]
[align=left]Series2.FunctionType.PeriodStyle:=psRange;[/align]
[align=left]Series2.FunctionType.Period:=100;[/align]
[align=left]Series2.DataSource:=Series1 ;[/align]
[align=left] This will calculate an average for each group of points inside every 100 interval.[/align]
[align=left] (Points with X >=0, X<100 will be used to calculate the first average, points with X >=100, X<200 will be used to calculate the second average and so on... )[/align]
[align=left]Notice this is different than calculating an average for every 100 points. [/align]
[align=left]在表单上增加一个Chart1,在FormCreate事件中添加[/align]
[align=left] Chart1->AddSeries(new TPieSeries(Chart1)); //  添加一个饼形图[/align]
[align=left] Chart1->Series[0]->Clear();[/align]
[align=left] Chart1->View3D = true; // 是否以3D形式显示[/align]
[align=left] Chart1->TopAxis->Title->Caption = "X TEST TEST"; Chart1->BottomAxis->Title->Caption = "Y TESTTES ";[/align]
[align=left] Chart1->Title->Text->Strings[0] = "hi";[/align]
[align=left] for (int i = 1; i <= 12; i )[/align]
[align=left] {[/align]
[align=left] Chart1->Series[0]->AddXY(i , i);[/align]
[align=left] } [/align]
[align=left]在各种图形之间切换[/align]
[align=left]首先 delete Chart1->Series[0] 删除原来的图形对象,再重新生成,如:[/align]
[align=left] delete Chart1->Series[0];[/align]
[align=left] Chart1->AddSeries(new TBarSeries(Chart1));[/align]
[align=left] Chart1->View3D = true;[/align]
[align=left] Chart1->TopAxis->Title->Caption = "X TEST TEST";[/align]
[align=left] Chart1->BottomAxis->Title->Caption = "Y TESTTES ";[/align]
[align=left] for (int i = 1; i <= 12; i )[/align]
[align=left] {[/align]
[align=left] Chart1->Series[0]->AddXY(i , i);[/align]
[align=left] }【全文结束】[/align]
delphiTeeChart的各种属性

TeeChart使用指南

TeeChart控件介绍

TeeChart Pro ActiveX是西班牙Steema SL公司开发的图表类控件,主要用来生成各种复杂的图表。熟悉Delphi和C++ Builder的编程人员对它不会陌生,因为在Delphi和C++ Builder里包括了TeeChart的VCL版本。

TeeChart使用目的

如果你需要在程序中制作曲线图、条状图、饼状图等等,使用这个控件都将是你的明智选择。它因为是已经被封装好的产品,所以使用方便,可控性强,不过有的时候会有点小BUG。最好能找到源码,并自己打几个补丁。

TeeChart名词解释

Series

Axis

Scales

Line

Bar

Pie

TeeChart配置说明

ChartSeries(序列) : 在一个图表中可以有一个或多个序列,每个序列可以有不同的显示类型,如Line、Bar、Pie等等。

Add… 添加新的序列

Fast Line(TFastLineSeries简单曲线图)、

Line(TLineSeries 3D曲线图)、

Bar(TBarSeries竖条状图)、

Horiz. Bar(THorizBarSeries横条状图)

Area(TAreaSeries 区域图)、

Point(TPointSeries 点状图)、

Pie(TPieSeries 饼状图)、

Shape(TChartShape 实体图)、

Gantt(TGanttSeries 甘特图)、

Arrow(TArrowSeries 箭头图)、

Bubble(TBubbleSeries 泡泡图)

SeriesFormat:修改序列的格式

SeriesPoint:修改序列中点的样子

SeriesGeneral:对序列的配置,包括Axis,Legend,Formats,Cursor。

SeriesMarks:是否显示序列中每个点的值。

SeriesData Source:数据源。可以采用No Data,Random Values,Function。

Title… 修改序列的名称。

Change… 修改序列的类型,可以从Line改变成Bar或者Pie。

ChartGeneral:一些基本的参数设置。

Print Priview…:打印及打印预览

Export…:输出

Margins:页边空白

Allow Zoom:允许缩放

Animated Zoom:缩放过程是否是动态的,还是一次成功。(如果图的点太多时,可以打开这个功能)

Allow Scroll:滚动条

ChartAxis : 控制图表坐标轴(上、下、左、右、深)的属性

Show Axis:是否显示坐标轴

ChartAxisScales:调整坐标轴的比例

Automatic:可以自动处理最大与最小值,也可以手工设置。

Change…:可以自动处理增量,也可以手工设置。

Logarithmic:对数的

Inverted:反向的

ChartAxisTitle:设置坐标轴的标题

Title:标题

Angle:标题的角度

Size:标题的宽度

Font…:标题的字体

ChartAxisLabels:设置坐标轴的标签

Titles :

ChartLegend(图例):图表中的一个长方形的用来显示图例标注的区域。可以标注Series的名称或者Series中的项目和数值。

Visible

Back Color

Font

Frame

Position

Margin

Legend Style

Text Style

Resize Chart

Inverted

%Top Pos

%Color Width

Dividing Lines…

Shadow

ChartPanel (面板):Panel可以设置图表的背景。可以使用渐变的颜色或者图像文件作为整个图表的背景

Bevel Inner (Bevel Innner ) Width

Bevel Outer (Bevel Outer) Width

Back Image:图表的背景图

Style:(Stretch伸展, Tile瓦片, Center居中)

Inside:只显示在背后壁上

Panel Color:Panel的Inner的颜色

Border:给控件加边界

Gradient(梯度):梯度显示颜色

Visible、Start Color…、End Color…、

Direction(方向):上下、左右、从中间

ChartPaging :图表有几页组成

Points Per Page(每页显示几个点):0为所有的点显示在一页,其他按数字处理。

Scale Last Page:最后一页按比例显示,使之充满整个图表。

ChartWalls(壁)

Left Walls:Y轴的平面

Bottom Walls:X轴的平面

Back Walls:背后的平面

Pattern…(模式):=(Solid实心,None无,Horizontal竖条纹,Vertical横条纹,

Diagonal对角线,Back.Diagonal反向对角线,Cross十字线,DiagonalCross对角十字线);

Border…(边线):=(Solid实线, Dash划线, Dot点,

Dash Dot线点, Dash Dot Dot线点点, Small Dots小点)

Transparent (透明)

Chart3D

3Dimensions(维):是否3维显示

Orthogonal(直角的):3维显示为直角显示,则Elevation,Rotaion,Perspective被屏蔽

ZoomText:坐标数字与图形一起缩放

Zoom:图形的缩放

Rotaion(旋转):关闭Orthogonal后,可以在Y轴上旋转

Elevation(正视图) :关闭Orthogonal后,可以在X轴上旋

Horiz. Offset:在X轴移动图形

Vert. Offset:在Y轴移动图形

Perspective(透视) :关闭Orthogonal后,将焦点沿Z轴移动。

TeeChart使用实例

// AddPages

NewTabSheet := TTabSheet.Create(pgMain);

with NewTabSheet do

begin

Parent := pgMain;

PageControl := pgMain;

Tag := Ord(CountTypeIndex);

Caption := arrCountType[CountTypeIndex];

end;

// AddCharts

NewChart := TChart.Create(NewTabSheet);

with NewChart do

begin

Parent := NewTabSheet;

Title.Text.Add('网间结算' + arrCountType[CountTypeIndex] + '/天分布图');

LeftAxis.Title.Caption := arrCountType[CountTypeIndex];

BottomAxis.Title.Caption := '话单日期';

Legend.Visible := sbLegend.Down;

Legend.Alignment := laBottom;

Legend.LegendStyle := lsSeries;

View3D := sb3D.Down;

Width := NewTabSheet.Width;

Height := NewTabSheet.Height;

end;

// ClearSeries

AChart.Series[SeriesIndex].Free;

// AddSeries

NewSeries := TLineSeries.Create(AChart);

NewSeries.Title := ANameList.Strings[SeriesIndex];

NewSeries.Marks.Visible :=True;

AChart.AddSeries(NewSeries);

// AddNameForSeries

AChart.SeriesList[SeriesIndex].Title:= NewName;

// ShowSeries

AChart.Series[SeriesIndex].Active := True;

// EmptySeries

AChart.Series[SeriesIndex].Clear;

// FillSeries

AChart.Series[SeriesIndex].AddXY();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: