TEECHART控件使用笔记

合集下载

teechart控件用法

teechart控件用法

teechart控件用法
TeeChart是一个图表控件,可以在.NET应用程序中创建各种类型的图表。

使用TeeChart控件,您可以在应用程序中显示数据的图形表示形式,从而直观地分析数据并更好地理解数据。

以下是使用TeeChart控件的一般步骤:
1.在您的项目中添加TeeChart控件。

您可以通过在工具箱中拖放TeeChart控件来将其添加到您的窗体中。

2.配置TeeChart控件的属性。

您可以通过属性窗口或代码来配置TeeChart控件的属性,例如图表类型、数据系列、图例等。

3.为TeeChart控件添加数据。

您可以通过为TeeChart控件的Series属性添加数据来创建图表。

4.调整TeeChart控件的大小和其他属性。

您可以调整TeeChart 控件的大小和其他属性,以使其适合您的应用程序。

5.保存和运行您的应用程序。

保存您的项目并运行它,以查看您的图表是否按预期显示。

在使用TeeChart控件时,您可以使用许多不同的属性和方法来配置和控制图表的行为和外观。

例如,您可以更改图表的标题、轴标
签和图例,也可以更改数据系列的颜色和样式。

此外,您还可以使用TeeChart控件的事件来响应用户与图表交互的方式,例如单击或双击图表元素。

总之,使用TeeChart控件可以方便地在.NET应用程序中创建各种类型的图表,并且可以轻松地配置和控制图表的外观和行为。

MFC TeeChart 用法整理一

MFC TeeChart 用法整理一

因工作需求,要用到TeeChart控件,发现TeeChart在MFC下的资料很少。

以下一些TeeChart的用法,大多是从网上七拼八凑得到的,还有一些是我自己摸索的,以下代码经均本人测试,测试环境vc++。

TeeChart的安装方法网上有很多,这里不再赘述。

把TeeChart控件添加到工程中后,将其拖到对话框中,然后通过ClassWizard定义一个类变量m_TeeChart。

TeeChart简介:TeeChart的主类是TChart,TChart类存在众多的属性方法和事件,下面介绍一些主要的属性。

1、:图表的高度;可用下列语句获取或设置图表的高度1 m(100); 1 metText()2.SetItem(0, COleVariant(“TeeChart 使用范例”));3m().GetText().Add(COleVariant(“追加的标题”));4、:序列;Series是要显示的数据的主体,在一个图表中可以有一个或者多个序列,每一个序列可以有不同的显示类型,例如Line、Bar、Pic等等,稍后将单独描述。

5、:坐标轴;用来设置坐标轴的属性1 m().GetBottom().GetTitle().SetCaption("X轴的标题");23 metLeft().GetTitle().SetCaption("Y轴的标题");45 metBottom().SetMinMax(0, 100);61metVisible(FALSE); illSampleValues(50); ddXY(i, rand()%10, NULL, RGB(255,0,255)); ddXY(i, rand()%10, "时间", RGB(255,0,255));显示结果如下:如果不想显示右侧的图例,可以用下列语句将其隐藏起来:().SetVisible(FALSE);第三种方法可以添加指定的数组:#define MAX_SIZE 20ddArray(MAX_SIZE, XValues, YValues);如果标记Y轴的值,可以用下列语句:(0).GetMarks().SetVisible(TRUE);设置X轴与Y轴的标题:().GetLeft().GetTitle().SetCaption("路程");().GetBottom().GetTitle().SetCaption("速度");2、第二种添加序列的办法是用代码添加:(0); etView3D(FALSE); illSampleValues(50); illSampleValues(50); etColor(RGB(255, 0, 0)); etColor(RGB(0, 255, 0)); etTitle("时间"); etTitle("速度"); etMarks().SetVisible(TRUE); etMarks().SetVisible(TRUE); etView3D(TRUE);etAsPoint3D().AddXYZ(i, j*i, j, NULL, RGB(255,255,0)); etView3D(TRUE); etAsPoint3D().AddXYZ(i, j*i, j, NULL, RGB(255,255,0));().SetVisible(FALSE); etDepth().SetVisible(TRUE); etDepth().GetLabels().SetVisible(TRUE); etDepth().GetLabels().SetStyle(0); etChart3DPercent(50); etView3D(TRUE);for(int i=0; i<5; i++)for(int j=0; j<5; j++)(0).GetAsTower().AddXYZ(i, j*i, j, NULL, RGB(255,255,0)); etVisible(FALSE);().GetDepth().SetVisible(TRUE);().GetDepth().GetLabels().SetVisible(TRUE);().GetDepth().GetLabels().SetStyle(0);().SetChart3DPercent(50);TeeChart可以保存多钟格式的图片,bmp、jpeg、pdf、gif等,对于这些功能的定义在CExport类中声明。

TeeChart经验总结

TeeChart经验总结

TeeChart经验总结1.安装我使用的是Delphi5,所以所有的测试,代码均为D5版本,看的时候要有一颗兼容的心.第三方组件,尽量使用有源码的版本,方便修改问题,也方便看懂功能,不然改都没法改.安装TeeChart的话,推荐TeeChart Pro v8.01with Full Source。

目录中有一个exe名为:TeeRecompile.exe..运行它我不记得是否会自动给环境里加入Sources目录了.请在安装完成后检查Tools->Environment Options->Library->Directories->Library Path,是否包含了解压安装目录中的Sources目录.目前为止..安装结束..老版本的TeeChart安装,需要先卸载自身的TChart组件,也就是在Component->Install Packages中不加载Borland Decision Cube Components,然后再使用TeeChart的bpg安装Dcl*.dpk,然后添加Library Path.1TeeChart经验总结2.初识.完成了安装以后,在additional选项卡里,就可以选择TChart进行使用在Options->Language->Change中,可以修改TeeChart Editor为中文菜单,但是不推荐这样做,毕竟写代码还是得用英文的.Edit Chart:打开TeeChart Editor界面,可以进行Series,Axis,Wall之类的参数编辑.Print Preview:打印预览...Export Chart:可以将Chart导出图片之类的格式.Custom Axes:可以编辑自定义Axis,也就是轴Seires:可以编辑曲线序列,也就是数据集合.先贴一张TeeChart Editor的图.在编辑器里,可以对TChart的一系列参数进行修改,基本上所有的TChart功能都可以在Editor里通过修改参数的所见即所得的方式来得以实现.首先,TChart有一个Panel,这个是Axis,Series显示的基础.Axis也就是一般所说的轴,比如常说的坐标系里的X轴Y轴.Series顾名思义,是一个序列,也就是数据序列,Series要绑定在Axis才会显示出来,因为TeeChart里的Series种类众多,有常见的Line,Fastline,Bar,Point,Pie等等,所以抽象的理解其为一个离散的数据集合比2较好.先来看一个Demo,并说明这个Demo用到了TeeChart里的哪些功能,在以后的文章里会逐步解释名词定.义和功能的实现用到了2个自定义的Axis,4个FastLine的Sereis,将Legend(图列说明,也就是Series的名称颜色的集合显示)显示出来.使用了Titles中的Title,用于显示一些与图相关的信息.用到了几个Tools,一个用来显示Paging,一个用来显示所看到的游标内容.TeeChart经验总结3.Panel和WallsWalls为Series表现的区域,有Left,Right,Bottom,Back之分,其中Left,Right,Bottom都为3D显示时候用的,Back就是Series绘图区域.先说Panel,看图:34Color 是用来修改Panel 显示的颜色,如果Walls 的Transparent 属性为True,那么都会显示这个颜色,如果为False,就可以自行定义颜色显示.Bak Image Inside,顾名思义,就是让背景图片是否显示在Back Wall 里.Borders:用来设计Panel 的边缘,都很简单.Separation:是和Walls 的间隔.5Margins:边距,用来设置Panel 与Walls 的边距.有两种设置方式,一种是百分比,一种是像素.Gradient:渐变.背景的颜色渐变,这个应该是TeeChart 的新功能,Title,Tools,Panel,Walls 等都可以设置这个属性,这个功能不算复杂,不多介绍了.只要试试就明白了.6Shadow:阴影,同样很多部分都有这个属性.也一样..这个属性没什么好多说的.Image:图像.可以载入一个图像来替代背景.这个功能有点意思..因为还提供了Filters(滤镜).因为Axis 显示的时候是在Panel,所以Margins 可能因为Axis 的多少而需要调节.Titles,Legend 也同样要显示在Panel 上,需要考虑一下布局的问题.接下来说Walls,之前说过了Walls 是用来显示Series 的地方,而且Left,Right,Bottom 都是用来参与3D 效果的显示.Back Wall 比其他的Wall 多了一个Shadow 的属性,其他基本都一样,所以以下就只贴Back Wall 的图了.7Visible Walls:是否显示Walls,旁边的Size 是用于3D 显示时,Wall 的厚度.Color,Border,Gradient,Image,Shadow 这些属性基本和Panel 的一样.Pattern 为Wall 的填充图案.Position 表示该Wall 的显示区域.独立Wall 里的Size,也是指该Wall 的厚度.Transparency 依然是透明度的意思.因为Wall 为Series 的显示区域,在用色上除了要考虑习惯以外,打印图片时,最好将Gradient 取消,将Wall 和Panel 的颜色变为白色,这样可以节省打印的油墨.TeeChart 经验总结4.Titles 和LegendTitles 分为四个:Title,SubTitle,SubFoot,Foot.这4个的区别其实就是默认的位置.从名字也可以猜出.8Visible:可见.Adjust Frame:适应框架.应该是根据Text 内容调整以适应大小.Alignment:排列位置,在Positon 如果使用Custom,则这个属性失效.Text:该Title 显示的文字内容.Edit:编辑Text.Custom:前面提过了,可以自定义Title 的显示位置.Vert.Margin:垂直空白,是指和Wall 之间的距离.当Custom 选择时,则无效.9Color:背影颜色.Pattern:图案Transparent:透明,和Panel 属性一致(因为Title 显示在Panel 上)Transparency:透明度.其他如:Text,Gradient,Shadow,Picture 就不一一介绍了,都是常规属性.记住一点当Format->Transparent 被选择后,Gradient,Shadow,Picture 均失效,都继承Panel 的相应属性.//----------------------------------------------------------------------------------------------------------Legend 为Series 的说明,可以描述Series 的Names,Values,Last Values,等等.Visible:显示LegendInverted:反转显示顺序Font Series Color:使显示字体的颜色与Series颜色一致.Legend Style:Legend的显示内容,Automatic(自动),Series Names(名称,确切的说其实是Series的Title),Series Values(数据),Last Values(最后一个点的数据,所有的Series),Series Groups(没用过...). Text Value:和Legend Style对应的一些设置,不细说了.No Check Boxes:是否在对应Series前显示CheckBox或者RadioButton.可以直接选择是否显示该Series 在曲线上.Vert.Spacing:垂直间隔..Dividing Line:每个Item之间的分隔线Resize Chart,根据Legend的大小来调整Wall的大小Title:Legend的标题.10Border,Text,Gradient,Shadow,Picture这些和之前一些属性类似.TeeChart经验总结5.Axis开始写一些比较重要的内容了.Axis,坐标系里的坐标轴.TeeChart默认两个X轴:Top,Bottom;有若干个Y 轴.TeeChart的Y轴,可以显示在Wall的左边,也可以显示在Wall的右边,可以100%显示,也可以分段显示,意思就是可以在一个Axis的位置上分段显示多个Axis,每个Axis占用一部分.:如下图下面介绍一下Axis的属性左上角的Visible,可以关闭所有Axis的显示,之前提过Series的显示依赖于Axis,如果Axis被隐藏,则Series同样被隐藏.Behind:这个是3D显示用到的属性,将Axis显示在BackWall上还是显示在最前面.Left Axis,Right Axis,Top Axis,Bottom Axis,Depth Right,Depth Top:和名字的说法一样,都是TeeChart默认创建的Axis,也可以根据需要自行定义Axis.11Scales->Options->Automatic:根据所属该Seires的值自行设置Minimum,Maximum,Increment.Visible:单独控制该Axis的显示.Inverted:反向显示.Logarithmic:对数.可以以某对数为底,处理显示值.比如LogP-H图这种.Minimum,Maximum,Increment:这些就是设置Axis显示的最小值,最大值,以及增量..Titles->用来设置Axis显示的名称,也可以设置显示的角度Labels->显示Axis每个增量的数值.Mutile-Line:多行显示.Round First:感觉像是对第一个值取整.Label On Axis:在Axis也标记.Alternate:交替显示.Min.Separation%:Label的最小分隔.Style:显示风格.Size:Label占用的大小,如果设置为0,就是自动.Angle:Label显示的角度.Ticks->记号.Axis上小分隔的记号.1213Grid->设置Axis 的显示格线.如果Y 轴过多,最好只显示一个Axis 的Grid,不然显示起来会很乱.Grid..:用来设置线的属性,Width,Space 之类的.Z:3D 显示时用到的属性.Draw every:每几个分隔画一条Grid 线.Minor..:Grid 中的Grid.在前面Grid 中继续画Grid.Position->对于Vertical/Horizontal Axis 比较多的时候,Position 的设置就显得尤其重要了.Position %:设置Axis 的位置,如果是Vertical,没有选中Other side,那就是默认在左边的Axis,正就是向右,负就是向左.Start%,End%:这个就是前面那个多个Axis 实现方式.即每个Axis 占用的范围.Z%:3D 显示使用.Other side:Vertical Axis,不选中为Left,选中为Right;Horizontal Axis,不选中为Bottom,选中为Top,Position%均是从Wall 的边缘开始算起.Horizontal:选中就是水平方向的Axis,不选中就是垂直方向的Axis.Other side,Horizontal 都是自定义Axis 才可以使用的.//-----------------------------------------------------------------------------------------------14这是一个Axis 设定Demo 界面.其中使用为Create 和Visbile名称为Axis 的Title最小值为Axis 的Minimum最大值为Axis 的Maximum根据最小值和最大值来计算Increment 值.单位并不是Axis 的属性,在这里只是用于显示和Series 自动判断绑定在哪个Axis 的凭据.颜色就是Axis 的Color.X 坐标轴是每页可显示的范围,因为要用到分页.坐标轴格线即是Grid,如果Vertical,Horizontal 有多个的话,最好各只显示一个Axis 的Grid.TeeChart 经验总结6.Series 之1:LineTeeChart 提供了很多类型不同的Series,下面是比较常用的.创建Series 可以通过TeeChart Editor,如下View下面,可以选择显示或者使用代码创建,如下Series Name(选中就可以修改Name,不选中可以修改Title),Series Group;可以创建Series Group进行管理.Clone可以复制一个新的Series,Change可以修改已经创建好的Series的类型.Series:=TFastLineSeries.Create(aChart);//线所在ChartSeries.ParentChart:=aChart;//指定自定义AxisSeries.CustomVertAxis:=aAxis;//线宽度Series.Pen.Width:=aPenWidth;//线颜色Series.Color:=aColor;//线名称Series.Title:=aTitle;Series常用的添加数据函数Function Add(Const AValue:Double;Const ALabel:String='';AColor:TColor=clTeeColor):Integer;overload;virtual;Function AddArray(Const Values:Array of TChartValue):Integer;overload;Function AddNull(Const Value:Double):Integer;overload;Function AddNull(Const ALabel:String=''):Integer;overload;virtual;Function AddNullXY(Const X,Y:Double;Const ALabel:String=''):Integer;virtual;Function AddX(Const AXValue:Double;Const ALabel:String='';AColor:TColor=clTeeColor):Integer;Function AddXY(Const AXValue,AYValue:Double;Const ALabel:String='';AColor:TColor=clTeeColor):Integer;virtual;Function AddY(Const AYValue:Double;Const ALabel:String='';AColor:TColor=clTeeColor):Integer;15下面开始说LineSeries.Color...:Line Series的颜色.Pattren...:还是用于3D显示的图案.Drak3D:3D阴影.Color Each,Color Each Line:每个点之间的线一种颜色,这个被选中,则Color属性无效.Clickable:可点击.Line Mode:Stairs:阶梯;Inverted:反转.OutLine:轮廓.这个功能实现的很怪,如果修改了这个,则Series Color无效.Height3D:3D显示下Line的高(厚)度.Stack:这是一个比较复杂的设置.当有多个Line Series的时候,这个属性用来表示这些个Line Series的关系.None:在3D显示中,每个Line Series一个独立的ZOrder.1617Stack,Stack100:比较Line 数值,前者使用实际值,后者使用0-100.数学比较差..不知道该如何描述.Treat Nulls:处理空值.分为:Don't Paint(不绘),Skip(跳过),Ignore(忽略).Series 里有一个基础方法AddNull.Shadow:3D 显示的时候没有试出来,2D 显示的时候很明显.Gradient:3D 显示时将Z 上颜色渐变色.18Line 其实是通过AddXY 或者类似的函数添加的点连接而成的曲线,Point 就是是否来显示这个点,以及显示这个点的属性.大部分的属性之前都介绍过.Show In Legend:显示在Legend 中.Cursor:游标,只有当之前的Clickable 被选中,这个属性才有用.Depth:单独设置Line Series 的深度,如果选择Auto,则和Chart 整体保持一致.Horizontal Axis:指定Line Series 的水平Axis.Vertical Axis:指定Line Series 的垂直Axis.DateTime:把Axis 的值设置为时间.设置这个属性只要修改Series.XValues.DateTime 或者Series.YValues.DateTime 即可.做柱形图的月份统计,这个属性经常被用到.Formats:设置显示值的格式.Show In This Editor:是否显示在TeeChart Editor内..Sorts:排序TSeriesMarksStyle=(smsValue,{1234}smsPercent,{12%}smsLabel,{Cars}smsLabelPercent,{Cars12%}smsLabelValue,{Cars1234}smsLegend,{(Legend.Style)}smsPercentTotal,{12%of1234}smsLabelPercentTotal,{Cars12%of1234}smsXValue,{1..2..3..or21/6/1996}smsXY,{123456}smsSeriesTitle,{Series1}//8.0smsPointIndex,{1..2..3...}//8.0smsPercentRelative{100%..90%..120%...}//8.0);其他的比如Arrows(箭头),Symbol(符号,这个和之前在Legend中介绍的那个属性一样),剩下的属性之前都提到过.19TeeChart经验总结7.Series之2:Bar以后不贴TeeChart Editor的图了.尽量文字说明,也方便查找属性.BarSeries.BarStyle Bar的显示类型//矩形,椎体,倒椎体//圆筒,椭圆,箭头,渐变矩形,圆锥体,斜面//斜立方体,钻石型,反箭头,倒圆锥体TBarStyle=(bsRectangle,bsPyramid,bsInvPyramid,bsCilinder,bsEllipse,bsArrow,bsRectGradient,bsCone,bsBevel,bsSlantCube,bsDiamond,bsInvArrow,bsInvCone);BarSeries.ColorEachPoint每个Bar独立颜色BarSeries.Brush.Style刷子类型,也就是Bar的显示图案BarSeries.Brush.ColorBarSeries.Brush.BackColorBarSeries.Brush.Image以上四个属性,就是TeeChart Editor里的Pattern设置.TBrushStyle=(bsSolid,bsClear,bsHorizontal,bsVertical,bsFDiagonal,bsBDiagonal,bsCross,bsDiagCross);BarSeries.Gradient渐变色,配合bsRectGradient使用.BarSeries.TickLines标记线,用于在Bar上画分隔线.BarSeries.Dark3D3D投影效果显示BarSeries.DepthBarSeries.DepthPercentBarSeries.CustomBarWidthBarSeries.BarWidthPercentBarSeries.OffsetPercent以上为设置Bar Series的深度(3D显示),深度百分比(和Chart设置的3D设置比);宽度,宽度百分比;位移(水平方向).BarSeries.Shadow用于显示阴影,在3D和2D下均可显示.BarSeries.BarPen用来设置Bar外框的一些显示属性.BarSeries.MultiBar多个Bar的显示方式.TMultiBar=(mbNone,mbSide,mbStacked,mbStacked100,mbSideAll,mbSelfStack);贴个图,比较清楚:20BarSeries.ShowInLegendBarSeries.CursorBarSeries.AutoBarSizeBarSeries.CustomHorizAxisBarSeries.CustomVertAxisBarSeries.ValueFormatBarSeries.PercentFormatBarSeries.ShowInEditor之前介绍过.BarSeries.Marks用于显示标记.Demo下面是i:Integer;beginBarSeries.Clear;for i:=1to12dobeginwith BarSeries dobeginAddXY(i,Random(1000),Format('%.2d月',[i]));end;end;end;21TeeChart经验总结8.Series之3:Horizontal Bar&AreaHorizontal Bar属性和Bar一致,只是坐标系顺时针转90度.如下图.Area如下图AreaSeries.Stairs阶梯,在Add**函数中,从N点到N+1点之间均为添加的Y值.如果AreaSeries.InvertedStairs为True,则是从N点N-1点之间均为添加的Y值.Pattern对应AreaSeries.AreaChartBrushBorder对应AreaSeries.LinePenTop对应AreaSeries.BrushArea Lines对应AreaSeries.AreaLinesPenTransparency对应AreaSeries.TransparencyDrak3D对应AreaSeries.Dark3DColor Each对应AreaSeries.ColorEachPointColor对应AreaSeries.SeriesColorTreatNulls对应AreaSeries.TreatNullsTTreatNullsStyle=(tnDontPaint,tnSkip,tnIgnore);Stack->Multi Areas对应AreaSeries.MultiAreaStack Group对应AreaSeries.StackGroupUse Origin对应eYOriginOrigin对应AreaSeries.YOrigin2223TeeChart 经验总结9.Series 之4:Pie&OthersTeeChart 自带的PieDemo 就很能说明问题.Explode biggest 对应Pie.ExplodeBiggest;将最大的一块slice 推出.Total Angle 对应Pie.AngleSize;所有slice 的总角度.Dark Border 对应Pie.DarkPen;每一块slice 的边界线.Dark 3D 对应Pie.Dark3D;slice 侧边的阴影.Patterns 对应ePatterns;是否给slice 使用图案.Multiple Pies 对应Pie.MultiPie:TMultiPie=(mpAutomatic,mpDisabled);如果Chart 内有多个Pie,如何显示.Gourp Slices.Style 对应Pie.OtherSlice.Style;TPieOtherStyle=(poNone,poBelowPercent,poBelowValue);Gourp Slices.Value 对应Pie.OtherSlice.ValueGourp bel 对应Pie.OtherSlice.TextGourp Slices.Legend 对应Pie.OtherSlice.Legend这些属性是为了使Value 低于总百分比(poBelowPercent)或者低于数值(poBelowValue)这些数值之和,显示为Label 的新slice.比如处理一些较小的值,显示为Other.Color Each slice 对应Pie.ColorEachPointColor palette对应Pie.ParentChart的ColorPaletteIndexColor对应Pie.SeriesColorAuto Mark Position对应Pie.AutoMarkPosition;自动设置Mark的位置Vertical center callout对应Pie.PieMarks.VertCenter;垂直居中显示Callout Leg size对应Pie.PieMarks.LegSize;Mark脚线的长度(以下属性和TCircledSeries通用)Circled对应Pie.Circled;显示成圆(而不是椭圆)3Dimensions对应Pie.ParentChart.View3DRotation对应Pie.RotationAngle;旋转角度Radius.Horizontal对应Pie.CustomXRadius水平半径Radius.Vertical对应Pie.CustomYRadius垂直半径(以上属性和TCircledSeries通用)Point:离线并不连接的点.常用属性之前都介绍过.Fast Line:简化版的Line,取消了3D显示,取消了Stack等功能.Horizontal Line:XY互换的Line.Horizontal Area:XY互换的Area.Bubble:泡泡.其实感觉更像是立体彩色版本的Point..Gantt:甘特图Extended:扩展.2425Financial:金融.Stats:统计.3D:Gauges:仪表.26Other:Maps:地图.2728TeeChart经验总结10.Zoom&ScrollZoom.Allow对应TheChart.Zoom.Allow;是否允许Zoom.Zoom.Animated对应TheChart.Zoom.Animated;演示Zoom的动画.Zoom.Steps对应TheChart.Zoom.AnimatedSteps;Zoom动画的步数.Zoom.Pen对应TheChart.Pen;Zoom.Pattern对应TheChart.Zoom.Brush;Zoom.Minimum pixels对应TheChart.Zoom.MinimumPixels;最小可执行Zoom的像素,即用户选中的Zoom框的最小大小.Zoom.Direction对应TheChart.Zoom.Direction;Zoom的方向,TTeeZoomDirection=(tzdHorizontal, tzdVertical,tzdBoth);Zoom.Mouse Button对应TheChart.Zoom.MouseButton;实现Zoom的鼠标键,TMouseButton=(mbLeft, mbRight,mbMiddle);Zoom.Zoom on Up Left Drag对应TheChart.Zoom.UpLeftZooms;默认的话,是向右下方(右上方也是)的拖放为Zoom,向左上方(左下方也是)的拖放为复位,如果选中了这个属性,则向左上方(左下方也是)也为Zoom.Scroll.Allow Scroll对应TheChart.AllowPanning;Scroll允许的方向,TPanningMode=(pmNone,pmHorizontal,pmVertical,pmBoth);//不允许,水平,垂直,水平和垂直. Scroll.Mouse Button对应TheChart.ScrollMouseButton;当按住这个MouseButton的时候,就实现Scroll. Cursor对应TheChart.Cursor.TeeChart经验总结11.Tools不记得是从7.0还是8.0,TeeChart提供了丰富的Tools.这是一个纯用TeeChart的Tools实现的简易游标Demo.本节后面会附上全部源码.Clip Series:当Series被拖动超出了Axis的范围,则超出的部分不显示.Cursor:十字,垂直,水平方向的游标,可以具体Snap任意Series的相应方向上的数据点.Drag Marks:可以任意拖动位置的Marks.Drag Point:可以任意移动绑定Series的数据点.Draw Line:在Chart上画线.Extra Legend:扩展Legend,可以在Chart再显示若干个Legend.fibonnaci:斐波那契数29Gantt Drag:可拖动的甘特图Image:图片Legend Palette:用Series的颜色显示Legend颜色Mark Tips:鼠标移动到Mark上,会显示出Hint提示.Nearest Point:移动鼠标,会找到离鼠标最近的Series上的一点.Pie Slices:移动鼠标到Pie Slices上,会高亮被鼠标移动到的slice.Region:填充Series和某个值之间的区域.Series Animation:显示动画,比如柱状图从0增加到设定值.Series Band:填充2个Series之间的区域.Statistics:统计资料,可以显示一个Series的一些统计资料.比如平均值,最大值,最小值,多少个值等等. Surface Nearest:找到表面最近的点,并且高亮.Axis Arrow:在Axis上添加2个方向的箭头,可以进行相应方向的Scroll操作.Axis Scroll:可以用鼠标直接拖动Axis进行数据范围的变更.Color Band:用彩色带填充Axis区域的背景颜色.Color Line:用彩色线(可以允许拖动)显示在相应Axis的区域.Grid Band:用2种颜色带交替填充相应Axis的区域.2D Lighting:有点类似探照灯一样的效果...3D Grid Transpose:交换3D Series的数据,行,列.Annotation:注释,可以在Chart里任意位置显示一段文字.Anti-Alias:平滑线的尖角.Banner:横幅,可以实现滚动字.Data Table:显示一个Series的数据表格.Fader:淡入/淡出一个Chart.Frame:显示一个包围Chart的框架(相框效果).Full Screen:将Chart全屏显示,然后用Alt+F4或者Esc返回.Legend Scrollbar:Legend的滚动条Link:在Chart里显示一个超级链接.Magnify:一个可以来回拖动的放大镜.Page Number:显示Chart的当前页/总页数(也可以提供切换页的按钮).Rectangle:一个可以拖动,可以改变大小的文字显示框.Rotate:可以360度任意角度旋转Chart.Selector:可以设置选择任何在Chart中的子组件,比如Title,Series等等.组合Hint,可以显示出选中的是什么组件.SubChart:在Chart里再内置子Chart.Text3D:显示3D的注释.Transpose Series:交换Series的行列.Video Creator:创建一段Chart图像的AVI.Video Player:在Chart里播放AVI.下面是之前提到的Demo.dfm文件:object Form1:TForm1Left=192Top=190Width=870Height=500Caption='Form1'30Color=clBtnFaceFont.Charset=DEFAULT_CHARSETFont.Color=clWindowTextFont.Height=-11='MS Sans Serif'Font.Style=[]OldCreateOrder=FalseOnCreate=FormCreatePixelsPerInch=96TextHeight=13object Button_FillData:TButtonLeft=744Top=48Width=75Height=25Caption='填充数据'TabOrder=0OnClick=Button_FillDataClickendobject CheckBox_Cursor:TCheckBoxLeft=752Top=88Width=57Height=17Caption='游标'TabOrder=1OnClick=CheckBox_CursorClickendobject CheckBox_LockY:TCheckBoxLeft=752Top=120Width=97Height=17Caption='Lock Cursor Y'TabOrder=2OnClick=CheckBox_LockYClickendobject Chart1:TChartLeft=24Top=32Width=681Height=409Title.Text.Strings=('TChart')TabOrder=3end31endpas文件:unit Unit1;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,TeEngine,Series,StdCtrls,ExtCtrls,TeeProcs,Chart,TeeTools;typeTForm1=class(TForm)Button_FillData:TButton;CheckBox_Cursor:TCheckBox;CheckBox_LockY:TCheckBox;Chart1:TChart;procedure Button_FillDataClick(Sender:TObject);procedure FormCreate(Sender:TObject);procedure CheckBox_CursorClick(Sender:TObject);private{Private declarations}FFLS1,FFLS2:TFastLineSeries;FCursorTool:TCursorTool;FAnnotationTool:TAnnotationTool;procedure CursorChange(Sender:TCursorTool;x,y:Integer;Const XValue,YValue:Double;Series:TChartSeries;ValueIndex:Integer);public{Public declarations}end;varForm1:TForm1;implementation{$R*.DFM}procedure TForm1.Button_FillDataClick(Sender:TObject);beginFFLS1.FillSampleValues(20);FFLS2.FillSampleValues(20);end;constLabelInv=10;32procedure TForm1.CursorChange(Sender:TCursorTool;x,y:Integer;const XValue,YValue:Double;Series:TChartSeries;ValueIndex:Integer);varStr:string;TmpX,TmpY:Integer;beginFAnnotationTool.Visible:=False;if not Assigned(Series)thenExit;if Series.XValues.Count<=0thenExit;Str:=Format('X Value=%.2f',[XValue])+#13#10+Format('%s YValue=%.2f',[FFLS1.Title,FFLS1.YValues[ValueIndex]])+#13#10+Format('%s YValue=%.2f',[FFLS2.Title,FFLS2.YValues[ValueIndex]]);FAnnotationTool.Text:=Str;TmpX:=x+LabelInv;if TmpX+FAnnotationTool.Width>Chart1.ChartRect.Right-LabelInv thenTmpX:=x-FAnnotationTool.Width-LabelInv;if CheckBox_LockY.Checked thenbeginTmpY:=Chart1.ChartRect.Top+LabelInv;if TmpY+FAnnotationTool.Height>Chart1.ChartRect.Bottom-LabelInv thenTmpY:=Chart1.ChartRect.Bottom-Height-LabelInv;endelsebeginTmpY:=Chart1.GetCursorPos.y+LabelInv;if TmpY+FAnnotationTool.Height>Chart1.ChartRect.Bottom-LabelInv thenTmpY:=Chart1.ChartRect.Bottom-FAnnotationTool.Height-LabelInv;end;if TmpY<Chart1.ChartRect.Top+LabelInv thenTmpY:=Chart1.ChartRect.Top+LabelInv;FAnnotationTool.Top:=TmpY;FAnnotationTool.Left:=TmpX;FAnnotationTool.Visible:=FCursorTool.Visible;end;procedure TForm1.FormCreate(Sender:TObject);begin//调整TeeChart属性Chart1.Legend.Visible:=True;Chart1.Legend.Alignment:=laTop;Chart1.View3D:=False;Chart1.Zoom.Allow:=False;Chart1.AllowPanning:=pmNone;33//创建Seriesif not Assigned(FFLS1)thenbeginFFLS1:=TFastLineSeries.Create(Self);FFLS1.ParentChart:=Chart1;FFLS1.Title:='Test Series1';end;if not Assigned(FFLS2)thenbeginFFLS2:=TFastLineSeries.Create(Self);FFLS2.ParentChart:=Chart1;FFLS2.Title:='Test Series2';end;//创建ToolsFCursorTool:=TCursorTool.Create(Chart1);FCursorTool.ParentChart:=Chart1;FCursorTool.Active:=False;FCursorTool.Pen.Color:=clRed;FCursorTool.Style:=cssVertical;FCursorTool.Series:=FFLS1;FCursorTool.Snap:=True;FCursorTool.OnChange:=CursorChange;FAnnotationTool:=TAnnotationTool.Create(Chart1);FAnnotationTool.ParentChart:=Chart1;FAnnotationTool.Active:=False;FAnnotationTool.PositionUnits:=muPixels;FAnnotationTool.Shape.CustomPosition:=True;FAnnotationTool.Shape.Gradient.Visible:=True;FAnnotationTool.Shape.Transparency:=30;end;procedure TForm1.CheckBox_CursorClick(Sender:TObject);beginFCursorTool.Visible:=CheckBox_Cursor.Checked;FAnnotationTool.Visible:=CheckBox_Cursor.Checked;end;end.34TeeChart经验总结12.Export之1.图像保存TeeChart提供比较丰富的图像保存(处理),和数据保存.先说图像保存.BMP:Flex:GIF:JPG:35MetaFile:PCX:PDF:36PostScript:SVG:SVG:37VML(HTM):XAML(WPF):38Binary://uses TeeExport;Procedure SaveTeeToFile(APanel:TCustomTeePanel;Const AName:String);Procedure SaveTeeToStream(APanel:TCustomTeePanel;AStream:TStream);//uses TeeStore;//TextFormat=False;Procedure SaveChartToFile(AChart:TCustomChart;Const AFileName:String;IncludeData:Boolean=True;TextFormat:Boolean=False);Procedure SaveChartToStream(AChart:TCustomChart;AStream:TStream;IncludeData:Boolean=True;TextFormat:Boolean=False);Text://uses TeeStore;//TextFormat=True;Procedure SaveChartToFile(AChart:TCustomChart;Const AFileName:String;IncludeData:Boolean=True;TextFormat:Boolean=False);Procedure SaveChartToStream(AChart:TCustomChart;AStream:TStream;IncludeData:Boolean=True;TextFormat:Boolean=False);XML://uses TeeStore;Procedure SaveChartToXMLFile(AChart:TCustomChart;Const AFileName:String;IncludeData:Boolean=True;XMLHeader:Boolean=True);Procedure SaveChartToXMLStream(AChart:TCustomChart;AStream:TStream;IncludeData:Boolean=True;XMLHeader:Boolean=True);39创建对象的时候,第二个参数为nil,则为全部的Series,否则为指定的Series对象.另外,除了XML以外,IncludeColors好像都没有用处.一般数据导出,我都用Cnpack的CnXlsWriter,和TeeChart的TSeriesDataXLS采用的都是直接写XLS 格式的方式,但是自由度大很多.Text://uses TeeExport;varaSeriesDataText:TSeriesDataText;beginaSeriesDataText:=TSeriesDataText.Create(Chart,nil);//nil=allaSeriesDataText.TextDePmiter:=';';//'',',',tab.....aSeriesDataText.TextQuotes:='''';//'"'.....aSeriesDataText.IncludeLabels:=True;aSeriesDataText.IncludeIndex:=True;aSeriesDataText.IncludeHeader:=True;aSeriesDataText.IncludeColors:=True;aSeriesDataText.SaveToFile('test.txt');aSeriesDataText.Free;end;XML://uses TeeExport;varaSeriesDataXML:TSeriesDataXML;beginaSeriesDataXML:=TSeriesDataXML.Create(Chart,nil);//nil=allaSeriesDataXML.IncludeLabels:=True;aSeriesDataXML.IncludeIndex:=True;aSeriesDataXML.IncludeHeader:=True;aSeriesDataXML.IncludeColors:=True;aSeriesDataXML.SaveToFile('test.xml');aSeriesDataXML.Free;end;HTML://uses TeeExport;varaSeriesDataHTML:TSeriesDataHTML;beginaSeriesDataHTML:=TSeriesDataHTML.Create(Chart,nil);//nil=allaSeriesDataHTML.IncludeLabels:=True;aSeriesDataHTML.IncludeIndex:=True;aSeriesDataHTML.IncludeHeader:=True;aSeriesDataHTML.IncludeColors:=True;aSeriesDataHTML.SaveToFile('test.html');40aSeriesDataHTML.Free;end;Excel(XLS)://uses TeeExport;varaSeriesDataXLS:TSeriesDataXLS;beginaSeriesDataXLS:=TSeriesDataXLS.Create(Chart,nil);//nil=allaSeriesDataXLS.IncludeLabels:=True;aSeriesDataXLS.IncludeIndex:=True;aSeriesDataXLS.IncludeHeader:=True;aSeriesDataXLS.IncludeColors:=True;aSeriesDataXLS.SaveToFile('test.xls');aSeriesDataXLS.Free;end;41。

TeeChart使用指南

TeeChart使用指南
Export…:输出
Margins:页边空白
Allow Zoom:允许缩放
Animated Zoom:缩放过程是否是动态的,还是一次成功。(如果图的点太多时,可以打开这个功能)
Allow Scroll:滚动条
Chart&#61664;Axis :控制图表坐标轴(上、下、左、右、深)的属性
Show Axis:是否显示坐标轴
NewSeries.Marks.Visible :=True;
AChart.AddSeries(NewSeries);
// AddNameForSeries
AChart.SeriesList[SeriesIndex].Title:= NewName;
// ShowSeries
AChart.Series[SeriesIndex].Active := True;
Scale Last Page:最后一页按比例显示,使之充满整个图表。
Chart&#61664;Walls(壁)
Left Walls:Y轴的平面
Bottom Walls:X轴的平面
Back Walls:背后的平面
Pattern…(模式):=(Solid实心,None无,Horizontal竖条纹,Vertical横条纹,
●TChart.Panel:面板(Ipanel类);
●TChart.Canvas:画布(Canvas类)。
Series是要显示的数据的主体。在一个图表中可以有一个或多个序列,每个序列可以有不同的显示类型,如Line、Bar、Pie等等。
Axes控制图表坐标轴的属性,在缺省的情况下,坐标轴可以自动地根据不同的数据设置好标度范围和间隔,当然也可以手工调整。
TeeChart使用指南

teechart用法

teechart用法

teechart用法一、概述Teechart是一款基于JavaScript的开源图表库,用于在Web应用程序中创建各种类型的图表。

它提供了丰富的图表类型和配置选项,可以轻松地创建出美观、交互式和动态的图表。

二、安装与引入要使用Teechart,您需要将其添加到您的项目中。

可以通过以下方式安装和引入Teechart:1. 使用npm安装:在终端中运行`npm install teechart`命令,即可安装Teechart库及其依赖项。

2. 在您的Web应用程序中,将Teechart的CDN链接添加到您的HTML文件中,以便在页面中加载Teechart库。

三、基本用法以下是Teechart的基本用法示例:1. 创建一个Chart对象:使用Teechart提供的Chart构造函数创建一个Chart对象,并传递所需的配置选项。

```javascriptvar chart = teechart.create({container: 'chart-container', // 图表容器元素的选择器title: 'Basic Usage', // 图表标题xAxis: { // X轴配置type: 'value', // X轴类型为数值类型minimum: 0, // X轴最小值maximum: 100, // X轴最大值interval: 25 // X轴刻度间隔},yAxis: { // Y轴配置type: 'value', // Y轴类型为数值类型minimum: 0, // Y轴最小值maximum: 200, // Y轴最大值interval: 25 // Y轴刻度间隔},series: [{ // 数据系列配置data: [50, 70, 80, 90, 75], // 数据数组type: 'line' // 数据系列类型为线型图}]});```2. 绑定事件:可以通过监听Chart对象上的事件来执行特定的操作,例如数据更新、图表交互等。

Teechart使用随笔

Teechart使用随笔

面板:统一为白色。

选择颜色。

面板中的渐彩不显示图例:篮框(RGB:1,61,117,粗:1)。

边缘-框架文字样式:右数值。

位置:向右;更改图表大小;位置偏移:10%。

符号显示;宽度:20。

格式颜色:白;格式-边缘-框架-格式-颜色RGB:(1,61,117);宽度:1 标题:位置置中,Vert.Margin标题与图的距离为10文字统一为:[小区名称]+[总表名称]+[住户名称]格式-边缘-框架-格式-宽度:20;颜色:黑色。

格式-字型-大小:9;颜色:黑;宋体轴定义:主图左轴;参考图右轴。

刻度上下限:方法一:Cht1.LeftAxis.AutoMaticMaximum := False;Cht1.LeftAxis.AutoMaticMiniMum :=False;Cht1.LeftAxis.Minimum := 0;Cht1.LeftAxis.Maximum := 100;表格内网格线的控制。

方法二:Cht1.LeftAxis.SetMinMax(0, 100);右轴无表格。

左轴、下轴-表格-颜色:(225,225,225)。

分页:柱形图为30每页,曲线图为50每页。

dbchart1.MaxPointsPerPage := (DSQry.RecordCount div PerPageCount) + 1; 卷轴倾斜度:[下轴]-[卷轴]-[样式]-[角度]=330;[最小分离]=0[下轴]-[卷轴]-[记号]-[Outer]-[长度]=10;面板渐变色控制dbchtPHD.Gradient.Visible := true;dbchtPHD.Gradient.StartColor := $FFFFFF;dbchtPHD.Gradient.EndColor := $FFEEDD;柱形图:颜色方案一:正常$C78D05 (5,141,199)过高$0A0AF5 (245,10,10)过低$32B450(80,180,50)参考$01D9F0 (240,217,1)方案二:(106,207,251)$FBCF6A(251,138,138)$8A8AFB(148,220,126)$7EDC94(254,241,122)$7AF1FE方案三:$DBA334 (52,163,219)$02CC97 (151,204,2)$00CCF9 (249,204,0)$8000FF (255,0,128)方案四:$E9A800 (0,168,233)$02B701 (1,183,2)$00BEFF (255,190,0)$7F47FE (254,71,127)方案五$FCCE63(99,206,252)$30EAFE(254,234,48)$37FF37(55,255,55)$5959FF(255,89,89)格式-大小-长条宽度:70;长条偏移:左-10%,右10%;长条面的边界:checked。

TeeChart控件中文说明书

TeeChart控件中文说明书
TeeChart for .Net 教程
Techart 中文说明书ห้องสมุดไป่ตู้
1. TeeChart Pro .Net 教程.................................................................................................................... 2 1.1 目录 ...................................................................................................................................... 2 1.1.1 教程 1 - 入门............................................................................................................ 2 1.1.2 教程 2 - 图表显示属性 .......................................................................................... 12 1.1.3 教程 3 - 图表页 .................................................................................................. 27 1.1.4 教程 4 - 坐标轴控件 .......................................................................................... 31 1.1.5 教程 5 - 图例设计 .............................................................................................. 48 1.1.6 教程 6 - 使用数据序列 ...................................................................................... 53 1.1.7 教程 7 - 使用函数 .............................................................................................. 75 1.1.8 教程 8 - 数据库访问 .......................................................................... 89 1.1.9 教程 9 - 应用程序 .............................................................................. 100 1.1.10 教程 10 - 实例的初步学习 .................................................................. 115 1.1.11 教程 11- 缩放和滚动......................................................................................... 118 1.1.12 教程 12 - 导出和导入图表 ................................................................................ 121 1.1.13 教程 13 - 在图表面板上自定义绘图 ................................................................ 133 1.1.14 教程 14 - 打印图表 ............................................................................................ 145 1.1.15 教程 15 - 3D 图表................................................................................................ 148 1.1.16 教程 16 - TeeChart 附加面板组件...................................................................... 151 1.1.17 教程 17 - 设计时 运行时及授权规定 .............................................................. 154 1.1.18 教程 18 - TeeChart 工具集................................................................................. 163 1.1.19 教程 19 - 自定义序列化 .................................................................................... 226

TeeChart使用经验——震宇出版总局

TeeChart使用经验——震宇出版总局

TeeChart使用经验——震宇出版总局任务:串口发送接收,接收数据绘制曲线波形。

方案:串口用 vc 自带控件 MSCOMM,用 TeeChart 实现绘图功能。

首先下载 TeeChart,并注册,注册有两种办法,一种是用使用 regsvr32.exe 程序对 activex 控件进行注册;另一种是在程序中添写注册代码进行注册。

我技术比较水,就选择第一种方案。

即:先将TeeChart5.ocx 拷贝至 C:\WINDOWS\system32 目录下,然后“开始”“运行”,输入命令进行注册。

如图所示:注册成功弹出如下对话框。

一.运行 VC6.0,建立对话框程序。

二.添加控件 MSCOMM,TeeChart.如图:三.串口部分(1).将 MCSOMM 拖进主对话框,向主对话框中添加两个编辑框,一个用于接收显示数据 ID 为IDC_EDIT_RXDATA,另一个用于输入发送数据,ID 为 IDC_EDIT_TXDATA,再添加一个按钮,功能是按一次就把发送编辑框中的内容发送一次,将其 ID 设为 IDC_BUTTON_MANUALSEND。

别忘记了将接收编辑框的 Properties ->Styles 中把 Miltiline 和 Vertical Scroll 属性选上,发送编辑框若你想输入多行文字,也可选上Miltiline。

(2)再打开 ClassWizard->Member Viariables 选项卡,选择 CSCommTestDlg 类,为 IDC_EDIT_RXDATA 添加CString 变量 m_strRXData,为 IDC_EDIT_TXDATA 添加 CString 变量 m_strTXData。

说明: m_strRXData 和m_strTXData 分别用来放入接收和发送的字符数据。

(3)打开 ClassWizard->Member Viariables 选项卡,选择 CSCommTestDlg 类,为 IDC_MSCOMM1 添加控制变量:m_ctrlComm。

VC6 下学习使用Teechart8记录 一 安装和熟悉teechart8

VC6 下学习使用Teechart8记录 一 安装和熟悉teechart8
VC6 下学习使用Teechart8 记录 一 安装和熟悉teechart8
上网找了一个 teechart8 的 Activex 版本,在 VC6 下使用正常,感觉功能挺强大的, 于是决定认真用一用,我是完全完全的新手,请高手们直接忽略我,或者给我提些好的建议。
我得到的是一个 teechart8.ocx 文件,这是 Activex 的文件,使用之前先注册一下, 将该文件放入系统目录下,然后打开命令提示符,或者直接在运行窗口输入:regsvr32 T eeChart8.ocx,然后会有一个注册成功的提示框,说明我们的 ActiveX 控件注册成功,在 VC6 下就可以使用了。如果不想使用了,可以使用 regsvr32 -u TeeChart8.ocx 解除对 teechart8 的注册。
闲话不多说,进入资源视图,点击主对话框后,删除 todo 那个静态文本。下一步我们 要在这个对话框上放置一个 teechart 图表,但是工具栏中没有,所以需要先添加一下。依 次点击 工程-》增加到工程-》components and controls,进入对话框后选择 register ed ActiveX controls,找到 TeeChart Pro Activex control v8 后点击 insert,会弹 出添加类的对话框,左边的列表里面是可以选择添加的类,现在我还不太了解具体类的作用, 所以只好一并添加了,点击确定以后回到资源视图会发现工具栏下面多累一个圆形的小图 标,这就是我们的 teechart8 控件了。这时注意到,类视图中已经为我们添加了一堆的类, 我把他们都放到 tee 文件夹中,看起来舒服多了。
下一步回到资源视图,将工具箱中的 teechart 控件托入对话框,改变一下大小,稍作 修改,界面设计就完成了。下一步要让 teechart 输出一个图形,那这次的任务就大功告成 了。在对话框上右键点击图标控件,点击属性,选择 teechart pro editer 选项卡,点击 edit chart ,出现一个名为 edit 的对话框,该对话框非常重要,包括了 teechart 的各种 属性。简要介绍一下这些属性,我的参考资料是“TEECHART 应用技术详解”一书,该书是 通过 delphi 描述的,我没有学过 delphi,勉强看着。首先就是 series 选项,该属性包含 的是需要绘制的图表的类型,如曲线,饼图,柱状图,等等等等,种类很多,这也是 teec hart 的优势。其次是 chart,这个选项包含了图表的显示部分的很多属性,如坐标轴,背 景,标题,等等。data 选项中就是绘制图表需要的数据。export 选项中包含了一些将图表 导出为图片等格式的选项。print 选项包含打印的设置。themes 包含图表的主题,主要是 显示方式。

TeeChart使用指南

TeeChart使用指南
Scale Last Page:最后一页按比例显示,使之充满整个图表。
Chart&#61664;Walls(壁)
Left Walls:Y轴的平面
Bottom Walls:X轴的平面
Back Walls:背后的平面
Pattern…(模式):=(Solid实心,None无,Horizontal竖条纹,Vertical横条纹,
Horiz. Bar(THorizBarSeries横条状图)
Area(TAreaSeries区域图)、
Point(TPointSeries点状图)、
Pie(TPieSeries饼状图)、
Shape(TChartShape实体图)、
Gantt(TGanttSeries甘特图)、
Arrow(TArrowSeries箭头图)、
with NewTabSheet do
begin
Parent := pgMain;
PageControl := pgMain;
Tag := Ord(CountTypeIndex);
Caption := arrCountType[CountTypeIndex];
end;
// AddCharts
NewChart := TChart.Create(NewTabSheet);
Title:标题
Angle:标题的角度
Size:标题的宽度
Font…:标题的字体
Chart&#61664;Axis&#61664;Labels:设置坐标轴的标签
Titles :
Chart&#61664;Legend(图例):图表中的一个长方形的用来显示图例标注的区域。可以标注Series的名称或者Series中的项目和数值。

TeeChart柱状图插件使用文档

TeeChart柱状图插件使用文档

一、TeeChart使用说明1.添加引用一下DLL文件到项目中。

工具箱中右键打开选择项,如上图所示在筛选器中打开浏览找到项目中的TeeChart.dll文件点击打开,完成后工具栏中将会出现teechart控件的图表2.创建一个webchart控件到页面中3.编辑属性4.在上图中添加series ,设置teeChart Gallery属性5.设置数据库连接6.必要参数设置如何在项目中使用破解版本的TeeChart?1、建一个aspx文件Default.aspx;2、在设计视图中拖进去一个控件;3、在属性窗口的杂项中,将GetChartFile设置成GetChart.aspx(默认)将TempChart属性设置成Session新建aspx文件GetChart.aspx,在GetChart.aspx.cs中写入以下代码: using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;///<summary>///为了覆盖session变量中的图表, 新建一个页面,命名为GetChart.aspx///</summary>public partial class GetChart : System.Web.UI.Page{///<summary>///将图片存储在session变量中///</summary>///<param name="sender"></param>///<param name="e"></param>protected void Page_Load(object sender, EventArgs e){string chartName = Request.QueryString["Chart"];if (Session[chartName] != null){System.IO.MemoryStream chartStream = newSystem.IO.MemoryStream();chartStream =((System.IO.MemoryStream)Session[chartName]);Response.OutputStream.Write(chartStream.ToArray(), 0, (int)chartStream.Length);chartStream.Close();Session.Remove(chartName);}}}如何将GetChart.aspx拷贝到当前的工程目录下。

teechart用法

teechart用法

teechart用法TeeChart 是一款功能强大的图表库,为开发人员提供了丰富的图表类型和定制化选项。

本文将介绍 TeeChart 的基本用法,以帮助读者更好地使用该工具。

TeeChart 的安装和基本配置TeeChart 可以在多个开发环境下使用,包括 Delphi、Java、.NET 等。

下面将以 Delphi 为例,介绍 TeeChart 的安装和基本配置步骤。

首先,下载并安装 TeeChart 的最新版本。

安装程序将指导您完成安装过程,确保您选择了适合您的开发环境的版本。

安装完成后,在您的开发环境中创建一个新项目。

在项目中,您需要添加 TeeChart 的组件库,以便可以在项目中使用 TeeChart。

在 Delphi 中,您可以通过选择 "Component" 菜单下的 "Install Packages" 选项来打开组件安装对话框。

在对话框中,选择 TeeChart 组件并点击 "OK" 按钮,即可将 TeeChart 组件添加到您的开发环境中。

使用 TeeChart 绘制基本图形一旦您已经完成了 TeeChart 的安装和配置,您就可以开始使用它来绘制图形了。

TeeChart 提供了多种图表类型,包括折线图、柱状图、饼图等。

下面以折线图为例,介绍 TeeChart 的基本用法。

首先,您需要在项目中添加一个 TeeChart 控件,作为图表的容器。

在 Delphi 中,您可以在工具箱中找到 TeeChart 控件,并将其拖放到您的窗体上。

接下来,您需要编写代码来绘制折线图。

例如,以下代码将绘制一个简单的折线图:```procedure TForm1.FormCreate(Sender: TObject);beginChart1.Series[0].Clear; // 清空图表数据Chart1.Series[0].AddXY(1, 10); // 添加数据点Chart1.Series[0].AddXY(2, 20);Chart1.Series[0].AddXY(3, 15);Chart1.Series[0].AddXY(4, 25);end;```在上述代码中,我们首先清空了图表的数据,并使用 `AddXY` 方法添加了四个数据点。

C#TeeChart的一些用法

C#TeeChart的一些用法

C#TeeChart的一些用法With TChart1.Aspect.View3D = False '是否3D显示'.Aspect.Chart3DPercent = 100 '3D效果度大小.Walls.Visible = True '是否显示图表边框.Header.Text(0) = "生产" '修改标题.Header.Text.Add "日报表" '增加标题".Axis.DrawAxesBeforeSeries = True '坐标线是否在图表上面底部.Axis.Visible = True '是否显示纵横坐标.Legend.TextStyle = ltsLeftValue '图例显示样式.Axis.Left.Title.Caption = "图表实例" '图表标题(可在四个方向,left左,right右,top上,bottom下,以后的都和这个类似).Axis.Left.Title.Visible = True '是否显示标题.Axis.Left.Title.Angle = 90 '标题摆放角度bels.Angle = 90 '底部标签摆放角度'***************四周框架板*****************.Walls.Visible = True '3D效果时是否显示外框'.Walls.Left.............略 '设置上下左右外框属性.Walls.Back.Transparent = False '背景是否透明.Walls.Back.Gradient.Visible = True '是否显示背景.Walls.Back.Gradient.MidColor = vbYellow '背景霓虹色'************网格相关***************.Axis.Left.GridPen.Visible = False '是否显示横线网格.Axis.Bottom.GridPen.Visible = False '是否显示竖线网格'*******定义工具条*********TeeCommander1.Chart = TChart1 '将工具条与图表关连'定义需要的工具条按钮(以下排列顺序与运行时工具条上按钮的排列一致,'请根据需要任意改变顺序设置,注:tcbSeparator为工具条分隔符)TeeCommander1.Controls = Array(tcbNormal, _tcbSeparator, tcbRotate, tcbMove, tcbZoom, _tcbDepth, tcb3D, tcbSeparator, tcbEdit, tcbPrintPreview, _tcbCopy, tcbSave)'*********加载数据生成图表**************.Series(0).Clear.Series(0).Add 125, "工程部", clTeeColor.Series(0).Add 45, "市场部", clTeeColor.Series(0).Add 82, "财务部", clTeeColor.Series(0).Add 37, "餐饮部", clTeeColor.Series(0).Add 67, "客房部", clTeeColor.Series(0).Add 27, "消安部", clTeeColor'.Series(1).FillSampleValues 6'*************标签********************.Series(0).Marks.Style = smsPercent '图表单元标签显示类型(文字,百分比,或数字,或组合方式显示).Series(0).Marks.ArrowLength = 50 '图表单元标签与单元之间的距离.Series(0).Marks.Visible = True '是否显示图表单元标签.Series(0).Marks.DrawEvery = 1 '每几个单元为一组显示一个标签.Series(0).Marks.Angle = 0 '单元标签的倾斜度.Series(0).Marks.Arrow.Color = vbGreen '标签与单元之间连线的颜色.Series(0).Marks.Arrow.Visible = True '是否显示[标签与单元之间连线].Series(0).Marks.Clip = False '超出图表的标签部分是否自动裁剪掉.Series(0).Marks.Arrow.Width = 1 '标签与单元之间连线的宽度.Series(0).Marks.Arrow.Style = psSolid '标签与单元之间连线样式.Series(0).Marks.Transparent = False '标签是否透明.Series(0).Marks.ShapeStyle = fosRoundRectangle '标签样式(椭圆或长方形).Series(0).Marks.Font.Color = vbBlue '标签文字色.Series(0).Marks.BackColor = vbYellow '标签背景色.Series(0).Marks.Gradient.Visible = True '是否起用标签渐变色.Series(0).Marks.Bevel = bvNone '标签样式(凹,凸,平面).Series(0).Marks.ShadowSize = 0 '标签阴影大小.Series(0).Marks.MultiLine = False '是否允许标签多行显示(当标签太长时)'*************图例****************.Legend.ResizeChart = True '图例是否自动调整位置.Legend.Divi*Lines.Visible = True '是否显示图例的行分隔线'.Legend.Font.(....略) '图例字体设置'.Legend.Left = 420 '图例左部位置'.Legend.Top = 30 '图例顶部位.Legend.TextStyle = ltsRightValue '图例显示样式.Legend.Visible = True '是否显示图例(全局控制).Legend.ColumnWidthAuto = True '图例内的各列数据是否自动调整宽度(必须用Repaint方法刷新).Legend.ColumnWidths(0) = 20 '调整图例内某一列数据的宽度(当上一项为假时有效,必须用Repaint方法刷新)'.Repaint.Legend.CheckBoxes = False '图例是否带复选项框(通常用于多组图表).Legend.Vertspacing = 0 '图例内行间距大小(默认为0)'.Legend.Symbol.(...略) '图例内色条属性设置(位置,大小等).Legend.FontSeriesColor = False '图例内字体色是否不同.Series(0).ShowInLegend = True '是否显示图例.Series(0).ColorEachPoint = True '用不同的颜色显示图表单元.Series(0).asBar.Dark3D = True '3D效果下图表单元是否显示阴影.Series(0).asBar.BarWidth = 35 '单元宽度.Series(0).asBar.BarStyle = bsRectangle '图表单元样式(柱形,椎形,圆形....).Series(0).asBar.BarPen.Visible = True '是否显示单元边框线'.Series(0).asBar.BarPen.(...)(略) '设置单元边框的各种属性'.Series(0).asBar.BarBrush.Style = bsFDiagonal '图表单元填充样式.Series(0)eOrigin = True '不详.Series(0).Depth = 15 '3D下立体效果值(值越大,立体感越强).Series(0).HorizontalAxis = aBottomAxis '横坐标数据位置.Series(0).VerticalAxis = aLeftAxis '纵坐标数据位置End With。

TeeChart基础使用手册

TeeChart基础使用手册

TeeChart基础使⽤⼿册TeeChart使⽤⼿册⽂章⽬录1、TeeChart.dll、TeeChart8.ocx、TeeChart.WPF.dll优缺点TeeChart.dll、TeeChart8.ocx、TeeChart.WPF.dll数据绘制效率表绘制数据量TeeChart.dll TeeChart8.ocx TeeChart.WPF.dll >16000(带端点)⾼中低<16000(带端点)中⾼低任意数量(不带端点)中⾼低TeeChart.dll、TeeChart8.ocx、TeeChart.WPF.dll流畅绘制的数据量范围绘制⽅式TeeChart.dll TeeChart8.ocx TeeChart.WPF.dll 带端点<2000<2500<1500不带端点<6000<8000<25001.1 TeeChart.dll缺点:TeeChart.dll在显⽰效果上较差,如图所⽰,添加控件后默认情况下在缩放是⿏标的选框会出现偏移、虚影、重叠、闪烁的情况,图中红圈为⿏标位置。

解决⽅法(1):进⼊TeeChart Editor界⾯ –> Chart –>General –>Zoom –>Pen 然后修改任意⼀项参数,就不会出现选框偏移、闪烁等问题,⽽虚影、选框重叠的问题还是存在,第⼀次修改后会在Form.Designer.cs⽂件中⽣成相应的代码,第⼆次以后修改不会⽣成,这导致第⼆次以后修改的参数不会⽣效,只有删除第⼀次⽣成的代码再设置才能⽣成。

解决⽅法(2):在程序中添加任意⼀条设置Zoom参数的代码就不会出现选框偏移等问题,如:tChart1.Zoom.Pen.Style = System.Drawing.Drawing2D.DashStyle.Dash;TeeChart.dll的TeeChart Editor界⾯存在字体模糊,缺失,被遮挡的情况。

绘图控件TeeChart的功能介绍与应用举例

绘图控件TeeChart的功能介绍与应用举例
A DO D B. nne ton ) Co ci Drv r 一 ” rv r— M ir s tV iua xPr ie D ie c o of s lFo o
e d i n f
’ e nup a e Cla nd s tCha tt e d t o s r r O s n O br w e r . ls s co e Da a t Con cos n. l e
TUS n tsD lh 、 f e等多 种编 程环境 下 使 oe ep iMS Ofc i
用;
● 可 以直接 存取 OD C数 据源 ; B
● 具有 1 种标 准 的和 1 1 O种扩 展 的S r s 型 ; ei 类 e ●提供 1 6种统计 函数 ; ●提 供翻 页 图的动 态生 成 ; ●支 持 2 D和 3 D效 果 , 支持动 态缩 放和 滚动 ; ● 可 以 将 图 表 输 出 为 Bt p Meai 、P G i ma 、 tfe J E l
S t r = n hi g e s= ot n Se t Con t Da a n= no hi g t n
TC atWit 图表 的宽度 ( 素) h r. dh: 像 ;
TC atHed r 图表 的题头 ( i e 类 ) h r. a e : It s tl ; TC atS r s 序 列 ( ei 类 的数组 ) h r. ei : e Srs e ;
2 TeC a t 能介 绍 e hr 功 TeC at 一个 强大 的 图表 组 件 , 持上 百 种 ehr是 支 2 和 3 图表 风 格 , D D 并提 供 4 O多 个 数学 和 统计 函 数、 无限制 的轴 和 2 2个调 色板 。T e h r 还 集成 打 eC at 印 预 览 , 表 可 导 出 到 J E E S P F, NG, 图 P G, P , D P

TeeChart使用心得(一)

TeeChart使用心得(一)

TeeChart 使用心得(一) TeeChart 是Delphi 里面一个标准的图形显示控件。

它可以静态设计(at design time )也可以动态生成。

下面是我在使用过程中的一些心得体会,比较杂,但也许对你有用。

TeeChart 的继承关系∙TObject ∙TPersistent ∙TComponent ∙TControl ∙TCustomControl ∙TWedgetControl ∙TChart ∙ TCustomPanelTeeChart 常见问题及使用技巧1、TChart 中如何实现只有Y 轴的放大与缩小功能?∙ 设置BottomAxis 或者LeftAxis 的Automatic:=false 并同时设置Minimum,Maximum 属性2、如何固定TChart 中的坐标,不使TChart 中的坐标跟随Series 的变化而变化? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 //设置底座标with myChart.BottomAxis dobeginAutomatic:=false;Minimum:=0;LabelStyle := talText;end;//设置左坐标with myChart.LeftAxis dobeginAutomatic:=false;Minimum:=0;Title.Angle:=270;Title.Font:=Self.Font;Title.Font.Charset:=ANSI_CHARSET;:='@宋体';Grid.Visible := False;end;19 20 21 22 23 24 25 26 27 28 29 //设置右坐标with myChart.RightAxis dobeginAutomatic:=false;Title.Font:=Self.Font;Title.Font.Charset:=ANSI_CHARSET;:='@宋体';Title.Caption:='累计百分比(%)';Maximum:=100;Minimum:=0;end;3、如何删除一个图形中的一个点?使用Series 的delete 方法4、如何修改一个点的X 或者Y 值?1 2 3 4 5 LineSeries1.YValue[3] := 27.1 ;{In Bubble Series}BubbleSeries1.RadiusValues.Value[ 8 ] := 8.1 ;{In Pie Series}PieSeries1.PieValues.Value[ 3 ] := 111 ;5、如果横坐标是时间(日期),如何进行设置?1 2 3 4 {First, you need to set the DateTime property to True in the desired X and/or Y values list.} LineSeries1.XValues.DateTime := True ; {Second, use the same above described methods, but give the values as Date, Time or DateTime values} LineSeries1.AddXY( EncodeDate( 1996 , 1 , 23 ) , 25.4 , 'Barcelona' , clGreen );6、如何在chart 中画出的曲线某个点上标记出该点的值?1 2 Series.Marks.Visible:=true;Series.Marks.Style:=smsValue;7、如何设置横轴或者纵轴的增长率?1 2 Chart.BottomAxis.Increment := DataTimeStep[ dtOneHour ] ;Chart.RightAxis.Increment := 1000;8、如何对图象进行缩放?∙TChart的ZoomRect或者ZoomPercent方法(Pie图可能不支持缩放)TeeChart可以绘制的图形:∙Line ( TLineSeries)∙FastLine (TFastLineSeries) 相对Line来说,它损耗了某些属性从而来实现快速绘制∙Bar (TBarSeries)∙Horizontal bar (THorizBarSeries)∙Area (TAreaSeries)∙Point (TPointSeries)∙Pie (TPieSeries)∙Arrow (TArrowSeries)∙Bubble (TBubbleSeries)∙Gantt (TGanttSeries)∙Sharp (TChartShape)TeeChart的实时绘制实时绘制对机器性能要求比较高,因此我们在编程的时候要注意下面几个方面:∙使用2D图形∙是Chart尽可能包含少的点∙如果需要,可以移除(remove)chart的legend(?????)和Title∙使用默认的字体和字体大小∙使用FastLineSeries∙使用实体(solid)画笔和画刷格式∙尽量避免使用圆形和环行bar样式∙不要使用背景图片和渐变效果样式∙把Chart的BevelInner和BevelOUter属性设置为bcNone∙如果需要,把TChart的AxisVisible属性设置为False∙把BufferedDisplay设置为false可以加速chart的重绘滚动TChart有4种scroll选择(AllowPanning属性),分别是不允许Scroll( pmNone) ; 水平Scroll (pmHorizontal) ; 垂直Scroll (pmVertical) ; 水平和垂直Scroll (pmBoth)Procedure Scroll(ConstOffset:Double; CheckLimits:Boolean);例子如下:1 C hart1.BottomAxis.Scroll( 1000, True );这段代码也等同于1 2 3 4 5 With Chart1.BottomAxis doBeginAutomatic:=false;SetMinMax( Minimum+1000, Maximum+1000 ); End;。

TeeChart说明.docx

TeeChart说明.docx

TeeChart说明.docx1.安装teechart控件安装好控件后就可以在⼯程⾥加⼊teechart控件了2添加Teechart控件2.1 插⼊Teechart控件(我们使⽤的是V8)新建⼀个对话框⼯程,在对话框上点击⿏标右键,弹出的菜单⾥选择“插⼊ActiveX控件”然后弹出的对话框⾥选择TeeChart控件这时对话框就有TeeChart控件了2.2 vs2008另外⼀种插⼊控件的⽅法vs2008对话框设置的⼯具栏上就有许多控件了,若想把我们常⽤的控件也加到⼯具栏上以后使⽤就很⽅便了,下⾯说的这种⽅法就是把控件加⼊⼯具栏⾥。

⽅便以后的调⽤在⼯具栏的空⽩处点击右键,选择添加选项卡这时vs就会新建⼀个选项卡,⾃⼰可以定义⼀个名称,这⾥命名为绘图控件为选项卡添加项:在新建的选项卡的空⽩处点击右键,选择“选择项”由于控件⽐较多,会耗费⼀定的时间打开这个选择项,别以为死机了,耐⼼等个⼏⼗秒吧在打开的对话框中选择选择com标签,选择teechart控件这样teechart控件就会在你的⼯具栏新加的选项⾥了,以后都会存在(我添加TeeChat的同时还把其他的⼀些控件添加进去了)2.3 控件属性设置双击控件进⾏相关设置这⾥添加⼀个快速线图-Fast Line3.为控件添加类3.1 添加TypeLib的mfc类(1)在‘解决⽅案资源管理器’中右击项⽬名添加类(2)添加TypeLib的mfc类(3)在可⽤的类型库⾥选择teechart8(4)在接⼝⾥就有TeeChart对应的所有类了,这⾥TChart是必须的接⼝,其他的可以根据需要添加(5)点击完成就把CTChart这个类添加进⼯程⾥了4.把TeeChart控件和对象关联4.1 为控件关联对象在控件上点击右键,选择添加变量,即可为控件关联对象4.2 去掉vs默认的初始化不知为何vs会默认给添加的变量初始化0,这个初始化⼀定要去掉否则⽆法使⽤⾄此,该控件已添加完成可以使⽤,使⽤时还需根据需要添加teechart中必要的类,引⽤必要的头⽂件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

series.h
void SetHorizontalAxisCustom(long nNewValue); 设置编号为 nNewValue的自定义轴为垂直轴
void SetVerticalAxisCustom(long nNewValue); 设置编号为 nNewValue的自定义轴为水平轴
m_ctrlChart_2.Series(1).SetVerticalAxisCustom(m_2);
//设置相同的轴为两条曲线的X轴 (轴编号为m_3)
m_ctrlChart_2.Series(1).SetHorizontalAxisCustom( m_3);
CAxis GetCustom(long CustomAxisIndex); 得到指定编号所对应的轴的对象
long GetCustomCount();
void RemoveCustom(long CustomAxisIndex); 删除指定编号的轴
void RemoveAllCustom(); 删除所有轴
m_ctrlChart_2.GetAxis().GetCustom(m_2).SetEndPosition(100);
axis.h
double GetStartPosition();
void SetStartPosition(double newValue); //设置在坐标轴上的起始比例
double GetEndPosition();
void SetEndPosition(double newValue); //设置在坐标轴上的结束比例
TeeChart控件使用代码添加自定义坐标轴的方法(在VS2010下,使用C++实现)
axes.h
long AddCustom(BOOL IsHorizontal); 增加一条轴,IsHorizontal为0则表示增加的是一条纵轴,
非零表示增加一条横轴,返回给轴的编号
典型代码:
long m_1= m_ctrlChart_2.GetAxis().AddCustom(0); //新增YAxis().AddCustom(0); //新增Y轴
long m_3= m_ctrlChart_2.GetAxis().AddCustom(1); //新增X轴
m_ctrlChart_2.Series(0).SetHorizontalAxisCustom( m_3 );
p_1.SetStartPosition(0); //设置Y坐标轴一所占比例
p_1.SetEndPosition(80);
m_ctrlChart_2.GetAxis().GetCustom(m_2).SetStartPosition(80);//设置Y坐标轴二所占比例
CAxis p_1= m_ctrlChart_2.GetAxis().GetCustom( m_1);
//设置不同的轴为两条曲线的Y轴 ( 轴编号为m_1,m_2 )
m_ctrlChart_2.Series(0).SetVerticalAxisCustom(m_1);
相关文档
最新文档