上一課笨笨給大家介紹了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("代理商銷量"));效果如圖。
同學們移動一下鼠標,可以發現柱圖同樣有交互功能,這裡就不細表了。
這節課也很簡單,現在下課。