这一课笨笨给大家介绍另一种具有分层功能的视图,名为共享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>
运行效果如图。
上图中两个图层的纵轴都放在左边,有点不自然。
其实笨笨还实现了一个左右视图,这是一个具有两个图层的共享X轴视图,纵轴左右各一个,用起来非常方便,这里就不仔细介绍了。
这一课也非常简单。
下节课介绍等高线图的姊妹篇——云图,敬请期待。