使用tChart有一段时间了,一直想用X轴显示时间,查了很多资料才实现,下面是具体步骤。
//初始化设置
//设置X轴为时间坐标
this->tChart1->Dock = DockStyle::Fill;
this->tChart1->Aspect->View3D = false; //取消3D
this->tChart1->Axes->Left->Automatic = false; //取消Y轴自动范围
this->tChart1->Axes->Left->AutomaticMaximum = false;
this->tChart1->Axes->Left->AutomaticMinimum = false;
this->tChart1->Axes->Bottom->Labels->DateTimeFormat = "HH:mm:ss"; //X轴时间显示格式
this->tChart1->Chart->Series[0]->XValues->DateTime = true; //X轴时间显示开启
//写入数据点,设置Y轴范围
//写入数据
this->tChart1->Chart->Series[0]->Add(this->dt.ToOADate(), ftemp);
//获取最大值与最小值的差,用于将Y轴设置为最大值大一点,最小值小一点的范围,防止最大值与最小值看不见(100就是比例)
ftemp = this->tChart1->Chart->Series[0]->YValues->Maximum - this->tChart1->Chart->Series[0]->YValues->Minimum;
this->tChart1->Axes->Left->Maximum = this->tChart1->Chart->Series[0]->YValues->Maximum+ftemp / 100;
this->tChart1->Axes->Left->Minimum = this->tChart1->Chart->Series[0]->YValues->Minimum-ftemp / 100;
//固定X轴点数,点数达到了就删除最前面的一个点
this->CollCnt++; //采集点数增加
if (this->CollCnt > 10)
{
this->tChart1->Chart->Series[0]->Delete(0);
}