深入浅出CChart 每日一课――第十二课 共享X轴视图,穆斯林的婚礼

这一课笨笨给大家介绍另一种具有分层功能的视图,名为共享X轴视图。

和上一课的分层视图相比,共享X轴视图的特点当然就是所有图层只有一个X轴,也就是所有数据在X方向的比例尺是一样的,实际问题中大多数情况都是这样的,所以笨笨单独设置了这么一个视图类型。

其实还有另外一个区别,就是共享X轴视图的标题和图例也是所有图层共享的,而分层视图则每个图层单独绘制。后面这一点使得分层视图有时候显得很诡异,呵呵,而共享X轴视图就自然多了。

下面以一个实例来介绍共享X轴视图。

用第一课的方法建立一个VC工程Lesson12。其中WM_CREATE的响应例程如下。

case WM_CREATE:
	chartWnd.Attach(hWnd, kTypeShareX);
	chartWnd.GetChart()->ResizePlots(2);
	double pX[200], pY[200];
	int i;
	for(i=0; i<200; i++)
	{
		pX[i] = i+1;
		pY[i] = (i+1)*(i+1);
	}
	chartWnd.GetChart()->AddCurve(pX, pY, 200, 0);
	for(i=0; i<200; i++)
	{
		pY[i] = sin(i*2.0*3.1415926536/200.0);
	}
	chartWnd.GetChart()->AddCurve(pX, pY, 200, 1);
			
	chartWnd.GetChart()->SetTitle(_T("共享X轴视图"));
	break;
 

共享X轴视图的代号为kTypeShareX

同学们容易发现,代码和上一课很类似的。只是让两条曲线的X范围一样了。

由于调用了数学库函数,需要包含头文件。

#include <math.h>
 

运行效果如图。

SouthEast

上图中两个图层的纵轴都放在左边,有点不自然。

其实笨笨还实现了一个左右视图,这是一个具有两个图层的共享X轴视图,纵轴左右各一个,用起来非常方便,这里就不仔细介绍了。

这一课也非常简单。

下节课介绍等高线图的姊妹篇――云图,敬请期待。

你可能感兴趣的:(教程,VC,数据可视化)