CChart庫是Micorsoft Windows平臺上一個基于C++的二維、三維數據可視化函數庫,主要用于數據曲線的繪制。CChart庫的特點用一句話概括,就是“功能強悍,調用簡單”。 首先是功能足夠全面,足夠強大;然后是對用戶代碼的簡化做到極致,使用方便。
國產精品C++數據可視化庫,可以繪制多種二維、三維曲線,包括折線圖、等高線圖、云圖、餅圖、柱圖、散點圖、面積圖、直方圖、極線圖、甘特圖、雷達圖、瀑布圖等,具有非常全面的功能。而且CChart內部選項極為豐富,無論是曲線本身,還是標題、坐標軸、圖例、背景等部分,都有大量的選項可供設置。
CChart詳細介紹
在追求功能的同時,CChart在簡化調用方面做到了極致,一般只用幾句代碼就可以畫出漂亮的圖像。這一點可以說不僅勝過絕大部分非商業(yè)的圖表庫或者控件,甚至不輸于大部分商業(yè)圖表軟件。
當然無論怎么努力,總有不能滿足的要求。CChart的內核功能相當強大,易于擴展,可以通過定制的方式滿足各種特殊要求。
CChart界面美觀大方。一般沒有專門設置的情況下,默認界面非常簡潔,但也相當美觀。如果針對各個部分進行設置,CChart的界面可以變得多姿多彩。
尤其值得一提的是CChart內置鍵盤鼠標的消息響應,各種類型的圖像都具有完善的交互功能,可以很方便地在運行狀態(tài)下修改圖像的顯示狀態(tài)。
CChart內部主要采用GDI進行圖像繪制,只在極少的情況下調用GDI+作為補充,內部繪圖一般都采用PolyLine等打包處理的API函數,基本不對單個像素操作,充分保證了繪圖的速度。
CChart采用Win32API進行開發(fā),沒有使用任何諸如MFC、WTL、QT等框架,當然在這些框架下使用完全沒有問題,這樣最大程度上保證了適用范圍。同樣的理由,由于采用的是Win32API,沒法做到跨平臺,Linux下是不能用的。
CChart主要的目標平臺是VC。除此之外,目前CChart已經可以應用在Borland C++ Builder、Borland Delphi、Visual Basic、網絡瀏覽器、甚至是易語言等開發(fā)平臺上。CChart 3.0.0.1版。
針對大數據量進行了特別優(yōu)化,千萬量級數據點的顯示迅捷如飛,同時通過了多種工具的內存泄漏檢測,完全可以滿足工業(yè)級應用。
按一些朋友提出的建議進行了修改,從實際應用出發(fā)的需求,應該比本人閉門造車要好一些吧。
里面包含一個壓力測試的工程,測試表明在百萬數據點的時候CChart工作很流暢,大家可以試一試。
新增數據處理功能,包括線性變換、微積分、濾波、擬合等方面。
由于功能改進較大,大版本號增加到3.
更新日志
2013.10.07
CChart 3.0.0.1版本完成。
因功能進化幅度較大,主版本號增加到3。
主要針對大數據量進行了代碼優(yōu)化,千萬至億量級數據輕松繪制,迅捷如飛。
修改當線粗大于1的情況下,線型不起作用的的Bug(這其實應該是微軟GDI的Bug,而不是CChart的Bug)。
2013.09.30
CChart 2.5.1.6版本完成。
內部功能優(yōu)化,主要針對共享X軸視圖。
2013.09.24
CChart 2.5.1.5版本完成。
修正數據對話框雙擊的一個Bug,感謝網友songhuangong發(fā)現這個Bug。代碼內部細節(jié)修改。
2013.09.20
CChart 2.5.1.4版本完成。
修改在系列教程編制過程中發(fā)現的小Bug,修改CChart包裝類對對話框支持存在的問題。
2013.09.13
CChart 2.5.1.2版本完成。
把等高線圖和云圖集成進包裝類。
2013.09.12
CChart 2.5.1.1版本完成。
新增瀑布圖。
修正非負數據的坐標范圍從負數開始的小bug,修正發(fā)現的其它bug。
對易語言的支持測試成功。
文件說明
CChart完整發(fā)布的載體形式是一個7Zip壓縮文件,里面有三個目錄Document、SourceAPI、Samples。其中Samples目錄中包含兩個使用例子FullTestAPI、TestChartWnd,外面還有一個clean.bat文件,用于隨時清除VC產生的垃圾文件。
Document目錄內是說明文檔,也就是本文件,@_@。
CChart庫的主要內容都在SourceAPI目錄中,庫的源代碼位于SourceAPI\Plot目錄下,編譯好的靜態(tài)庫Plotd.lib和Plot.lib分別位于SourceAPI\Debug和SourceAPI\Release目錄下,注意這兩個文件有可能不小心被clean.bat清除掉。
SourceAPI目錄下有一個VC6的工作區(qū)文件Plot.dsw,這個工作區(qū)包含兩個工程文件,Plot.dsp是靜態(tài)庫的工程文件,TestAPI.dsp是一個小小的測試用工程文件,本人開發(fā)時全用它。TestAPI中全面展示了原始編程方法的所有要點,用戶代碼全部用注釋行和注釋符號包圍。
FullTestAPI目錄下是一個較大的測試文件,較全面展示了CChart各個繪圖類的使用,采用的編程方法是原始編程方法。為了適應各種不同的Chart類型,里面建立的是一個Chart指針(Chart類實際上就是CPlotImpl類的typedef),而不是類對象。Chart是一個層次較高的類,所有的繪圖類都是其子類。對于具體的Chart對象,采用new的方式建立,這和TestAPI中的使用方式略有區(qū)別,當然實際效果是一樣的。
TestChartWnd目錄下也是一個測試文件,向大家展示了窗口類的編程方法,非常的簡單方便。
- PC官方版
- 安卓官方手機版
- IOS官方手機版