本例子是在MFC中实现的:利用计时器每个一段时间产生一个随机数,并插入到曲线图中显示,如果图中的数据点大于30个,则在插入新数据的同时,删除下标最小的数据点。实时曲线图显示在对话框中。
以下是三个主要的函数。
函数一:初始化曲线图
void RealChartDlg::InitChart()
{
//设置标题
m_Chart.SetTitleText(LPCTSTR("实时曲线图"));//Title 为CString类型
//设置栈模式
m_Chart.SetStacking(FALSE);
//设置行数及列数
m_Chart.SetRowCount(1);//iRowCount和iColumnCount为int型
m_Chart.SetColumnCount(1);
m_Chart.SetRow(1);
m_Chart.SetRowLabel("");
m_Chart.GetDataGrid().SetData(1, 1, 0, 0);
//设置x轴及y轴的标题。xTitle和yTitle为CString型
VARIANT var;
m_Chart.GetPlot().GetAxis(0,var).GetAxisTitle().SetText("Time"); //x轴
m_Chart.GetPlot().GetAxis(1,var).GetAxisTitle().SetText("DataValue"); //y轴
//设置控件类型
m_Chart.SetChartType(3);//3:曲线型;1:条形;14:饼图
//设置背景颜色
m_Chart.GetBackdrop().GetFill().SetStyle(1);