程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 深入淺出CChart 每日一課——第十二課 共享X軸視圖,穆斯林的婚禮

深入淺出CChart 每日一課——第十二課 共享X軸視圖,穆斯林的婚禮

編輯:關於C語言

這一課笨笨給大家介紹另一種具有分層功能的視圖,名為共享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軸視圖,縱軸左右各一個,用起來非常方便,這裡就不仔細介紹了。

這一課也非常簡單。

下節課介紹等高線圖的姊妹篇——雲圖,敬請期待。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved