vb 串口 TEECHART

vb 串口 TEECHART,第1张

14 [问题极其使用技巧]
141 TChart中如何实现只有Y轴的放大与缩小功能?
设置BottomAxis或者LeftAxis的Automatic:=false并同时设置Minimum,Maximum属性
142 如何固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化?
//设置底座标
with myChartBottomAxis do
begin
Automatic:=false;
Minimum:=0;
LabelStyle := talText;
end;
//设置左坐标
with myChartLeftAxis do
begin
Automatic:=false;
Minimum:=0;
TitleAngle:=270;
TitleFont:=SelfFont;
TitleFontCharset:=ANSI_CHARSET;
TitleFontName:='@宋体';
GridVisible := False;
end;
//设置右坐标
with myChartRightAxis do
begin
Automatic:=false;
TitleFont:=SelfFont;
TitleFontCharset:=ANSI_CHARSET;
TitleFontName:='@宋体';
TitleCaption:='累计百分比(%)';
Maximum:=100;
Minimum:=0;
end;
143 如何删除一个图形中的一个点?
使用Series的delete 方法
144 如何修改一个点的X或者Y 值?
LineSeries1YValue[3] := 271 ;
{In Bubble Series}
BubbleSeries1RadiusValuesValue[ 8 ] := 81 ;
{In Pie Series}
PieSeries1PieValuesValue[ 3 ] := 111 ;
145 如果横坐标是时间(日期),如何进行设置?
{First, you need to set the DateTime property to True in the desired X and/or Y values list}
LineSeries1XValuesDateTime := True ;
{Second, use the same above described methods, but give the values as Date, Time or DateTime values}
LineSeries1AddXY( EncodeDate( 1996 , 1 , 23 ) , 254 , 'Barcelona' , clGreen );
146 如何在chart中画出的曲线某个点上标记出该点的值?
SeriesMarksVisible:=true;
SeriesMarksStyle:=smsValue;
147 如何设置横轴或者纵轴的增长率?
ChartBottomAxisIncrement := DataTimeStep[ dtOneHour ] ;
ChartRightAxisIncrement := 1000;
148 如何对图象进行缩放?
TChart的ZoomRect或者ZoomPercent方法 (Pie图可能不支持缩放)
15 [TChart可以绘制的图形]
151 Line ( TLineSeries)
152 FastLine (TFastLineSeries) 相对Line来说,它损耗了某些属性从而来实现快速绘制
153 Bar (TBarSeries)
154 Horizontal bar (THorizBarSeries)
155 Area (TAreaSeries)
156 Point (TPointSeries)
157 Pie (TPieSeries)
158 Arrow (TArrowSeries)
159 Bubble (TBubbleSeries)
1510 Gantt (TGanttSeries)
1511 Sharp (TChartShape)
16 [TChart的实时绘制]
实时绘制对机器性能要求比较高,因此我们在编程的时候要注意下面几个方面:
ü 使用2D图形
ü 是Chart尽可能包含少的点
ü 如果需要,可以移除(remove)chart的legend()和Title
ü 使用默认的字体和字体大小
ü 使用FastLineSeries
ü 使用实体(solid)画笔和画刷格式
ü 尽量避免使用圆形和环行bar样式
ü 不要使用背景和渐变效果样式
ü 把Chart的BevelInner和BevelOUter属性设置为bcNone
ü 如果需要,把TChart的AxisVisible属性设置为False
ü 把BufferedDisplay设置为false可以加速chart的重绘
17 [Scrolling]
TChart有4中scroll选择(AllowPanning属性),分别是 不允许Scroll ( pmNone) ; 水平Scroll (pmHorizontal) ; 垂直Scroll (pmVertical) ; 水平和垂直Scroll (pmBoth)
Procedure Scroll(Const Offset:Double; CheckLimits:Boolean);
例子如下:
Chart1BottomAxisScroll( 1000, True );这段代码也等同于
With Chart1BottomAxis do
Begin
Automatic:=false;
SetMinMax( Minimum0+1000, Maximum+1000 );
End;
18 [TChart中的全局变量]
ü TeeScrollMouseButton := mbRight;设置鼠标右键为TChart滚动键(默认)
ü TeeScrollKeyShift := [ ssCtrl ]; 要按住Control键才可以使Scroll滚动
19 [TChartSerries使用技巧]
191 运行时候创建一个Serries, 三种方法:
1.Var MySeries : TBarSeries ;
MySeries := TBarSeriesCreate( Self );
MySeriesParentChart := Chart1 ;
2.Chart1AddSeries( TBarSeriesCreate( Self ) );
3.Var MyClass : TChartSeriesClass;
MyClass := TBarSeries ;
Chart1AddSeries( MyClassCreate( Self ) );
192 获得TChart中的Serries数组,也有三种方法
1.MySeries := Chart1SeriesList [ 0 ]
2.MySeries := Chart1Series [ 0 ]
3.MySeries := Chart1 [ 0 ]
193 SerriesCount属性获得SeriesList中Series的个数
194 隐藏TChart中的Series有三种方法,但是效果不等价
1. Series1Active:=False; 仅仅隐藏,当设置为true的时候还可以显示出来
2. Series1ParentChart:=nil ; 隐藏,重新设置ParentChart为TChart时候可以显示
3. Series1Free; 删除了Series 不可以恢复
195 TChart中的数据排序
With Series1 do
begin
YValuesOrder:=loAscending;
YValuesSort;
Repaint;
end;
Ø 定位一个点(Loacate a point)
Series1XValuesLocate(123);
Ø XValue和YValue都拥有的属性Total , TotalABS , MaxValue , MinValue

你问的是teechart安装后需要在delphi104环境变量中添加哪些内容吗?这红情况需要添加一些TeeChart相关的路径和设置,具体如下:
1、根据道客巴巴资料,将TeeChart的相关文件(如BPL、DCP等)复制到Delphi的安装目录下的Bin和Lib文件夹中。
2、添加TeeChart的相关组件和工具到Delphi的菜单和工具栏中,方便开发人员使用。
3、设置TeeChart的默认主题和颜色方案,并将其保存到Delphi的配置文件中,以便下次启动Delphi时自动加载。

TeeChart的图表的标题设置方法
tChart1HeaderText = "图表";
tChart1HeaderLines = new string[] {
"图表1","图表2","图表3" }; //标题
设置Header的Text或者Lines,任选一个即可,这两个是会相互覆盖的
Text仅仅设置一行;The Text property is used to display customized strings inside
Shapes

最近也在学习Teechart,看看这个,X轴显示的时间,Y轴显示的是随机数。
void CTestTeeChartDlg::InitChart()
{
m_ctrlChartSeries(0)Clear();
m_ctrlChartGetPage()SetMaxPointsPerPage(1440);
COleDateTime CurTime = COleDateTime::GetCurrentTime();
COleDateTime tempTime ;
tempTime = CurTime;
CurTimeSetTime(0,0,0);
CurTimeSetDate(tempTimeGetYear(),tempTimeGetMonth(),tempTimeGetDay());
COleDateTimeSpan tmSpan = COleDateTimeSpan(0,0,1,0);
CString csTime ;
for(int i=0; i<80; i++)
{
csTime = CurTimeFormat("%H:%M");

float fzVal = float(GetRandom(12000,28000)/100);
m_ctrlChartSeries(0)AddXY(i,fzVal,csTime,i);
CurTime += tmSpan;
}
m_ctrlChartGetAxis()GetLeft()SetMinMax(100, 300);
}
希望对你有帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12604654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存