上一課笨笨給大家介紹了CChart餅圖的繪制方法,這一課介紹柱圖,這也是應用非常廣的一種圖表形式。
按第一課的方法建立一個VC項目Lesson07。
同樣我們只需要修改WM_CREATE的響應例程,如下。
case WM_CREATE:
chartWnd.Attach(hWnd, kTypeStem);
{
double pY[5];
pY[0] = 3.0;
pY[1] = 5.0;
pY[2] = 4.0;
pY[3] = 2.0;
chartWnd.GetChart()->AddStems(pY, 4);
chartWnd.GetChart()->SetDataTitle("代理商甲銷量", 0);
}
break;
上面用AddStems添加一個序列。
運行程序,得到圖像如下。
下面我們給每根柱子加上標簽。修改WM_CREATE消息的響應例程如下。
case WM_CREATE:
chartWnd.Attach(hWnd, kTypeStem);
{
double pY[5];
pY[0] = 3.0;
pY[1] = 5.0;
pY[2] = 4.0;
pY[3] = 2.0;
chartWnd.GetChart()->AddStems(pY, 4);
chartWnd.GetChart()->SetDataTitle("代理商甲銷量", 0);
chartWnd.GetChart()->SetStemLabel(_T("一季度"), 0);
chartWnd.GetChart()->SetStemLabel(_T("二季度"), 1);
chartWnd.GetChart()->SetStemLabel(_T("三季度"), 2);
chartWnd.GetChart()->SetStemLabel(_T("四季度"), 3);
}
break;
利用SetStemLabel可以修改柱子的標簽。
運行結果如圖。
前面只畫了一個序列,CChart支持在柱圖中繪制多個序列。添加新序列的方法完全一樣。
下面繼續修改WM_CREATE的響應例程。
case WM_CREATE:
chartWnd.Attach(hWnd, kTypeStem);
{
double pY[5];
pY[0] = 3.0;
pY[1] = 5.0;
pY[2] = 4.0;
pY[3] = 2.0;
chartWnd.GetChart()->AddStems(pY, 4);
chartWnd.GetChart()->SetDataTitle("代理商甲銷量", 0);
chartWnd.GetChart()->SetStemLabel(_T("一季度"), 0);
chartWnd.GetChart()->SetStemLabel(_T("二季度"), 1);
chartWnd.GetChart()->SetStemLabel(_T("三季度"), 2);
chartWnd.GetChart()->SetStemLabel(_T("四季度"), 3);
pY[0] = 4.0;
pY[1] = 1.0;
pY[2] = 6.0;
pY[3] = 3.0;
chartWnd.GetChart()->AddStems(pY, 4);
chartWnd.GetChart()->SetDataTitle("代理商乙銷量", 1);
}
break;
運行效果如圖。
最後我們給柱圖加上標題。
在上面的break;一行前面插入一行。
chartWnd.GetChart()->SetTitle(_T("代理商銷量"));
效果如圖。同學們移動一下鼠標,可以發現柱圖同樣有交互功能,這裡就不細表了。
這節課也很簡單,現在下課。