利用TChart绘制直方图

开门见山,安装好TeeChart之后的tutorials非常有用,它介绍了TeeChart的很多功能,这里实现其中的直方图,并给出详细步骤。 
 

本文所用版本为TeeChart8,编程环境为VC++ 6.0。

1、新建基于对话框的工程(注意先编译运行一下),在对话框上插入TChart控件(ActiveX Control),选择TeeChart Pro Active control v8,如下图所示:

图1

2、右键单击TeeChart控件,依次选择【TeeChart Pro Active control v8 Object】、【Edit...】,向TeeChart中添加3个Bar(图2),结果如图3所示:

利用TChart绘制直方图_第1张图片

图2

利用TChart绘制直方图_第2张图片

图3

3、通过类向导为TeeChart控件添加关联变量:

利用TChart绘制直方图_第3张图片

图4

添加关联变量的时候,会提示添加TeeChart的头文件进入工程,这会添加很多.h和.cpp文件,需要耐心等待。

4、添加初始化TeeChart的函数InitTChart():

void CBCGDemoDlg::InitTChart()
{
	//设置标题
	m_chart1.GetHeader().SetCaption("Production results");

	//设置Series标题
	CString title[] = {"Product10", "Product12", "Product14"};
	for (int i=0; i<3; i++)
	{
		m_chart1.Series(i).SetTitle( title[i] );
		m_chart1.Series(i).GetMarks().SetVisible(TRUE);
	}

	//添加数据
	COLORREF color[] = {RGB(255,0,0), RGB(0,255,0), RGB(255,255,0)};
	CString xAxisLabels[] = {"Jan", "Feb", "Mar"};
	int valuesProduct10[] = {300, 325, 287};
	int valuesProduct12[] = {175, 223, 241};
	int valuesProduct14[] = {461, 470, 455};
	int xAxisValues[] = {10, 12, 14};
	for (i=0; i<3; i++)
	{
		m_chart1.Series(0).AddXY(10+i*2, valuesProduct10[i], xAxisLabels[i], color[0]);
		m_chart1.Series(1).AddXY(10+i*2, valuesProduct12[i], xAxisLabels[i], color[1]);
		m_chart1.Series(2).AddXY(10+i*2, valuesProduct14[i], xAxisLabels[i], color[2]);
	}
}

这里建立的工程是基于BCG Dialog的,直接建立MFC的一般Dialog工程是一样的。

5、在OnInitDialog()函数中添加上面的初始化TeeChart的函数。

6、OK,完成。编译、链接、运行,效果如图5:

利用TChart绘制直方图_第4张图片

图5


注意:默认情况下,Series的Marks显示的是Label,即AddXY函数中的文本,这时候可以选择Marks的Style为Value(AddXY函数中的Y轴的值),就可以达到上面图5的效果。

你可能感兴趣的:(mfc,控件,TeeChart8)