今天介紹一個(gè)繪圖框架 Charts的使用。這個(gè)框架繪圖功能比較強(qiáng)大,用了一年多,現(xiàn)在準(zhǔn)備寫(xiě)一系列文章來(lái)推薦一下.
- 語(yǔ)言: 它是基于Swift開(kāi)發(fā)的一個(gè)繪圖框架,支持OC語(yǔ)言混編,其Demo就是用OC來(lái)編寫(xiě)的.
-
集成版本:
Xcode 8.0 / Swift 3.0 (For Swift 2.3 support please use Charts 2.3.0)
iOS >= 8.0 (Use as an Embedded Framework)
tvOS >= 9.0
macOS >= 10.11 - **平臺(tái): **支持
iOS
纵竖、mac OS
漠烧、tv OS
、watch OS
,當(dāng)然我想說(shuō)它也支持Android
,但是Andriod平臺(tái)下面的框架名稱(chēng)為 MPAndroidChart ,與 Charts屬于同源框架,同步更新,Charts
的作者是 danielgindi,MPAndroidChart
的作者是Philipp Jahoda ,都是老外,也是比較強(qiáng)大,各有1W+的star數(shù). - 支持的繪圖類(lèi)型:
-
折線(xiàn)圖
**LineChart1 (帶有數(shù)據(jù)類(lèi)型的標(biāo)注)**
**LineChart2**
**LineChart3 (cubic lines)**
**LineChart4 (漸變填充)** -
組合圖表(多種類(lèi)型的圖表集合在同一組合圖表下)
**Combined-Chart (柱狀圖和折線(xiàn)圖的集合)** -
柱狀圖
**BarChart (帶有數(shù)據(jù)類(lèi)型標(biāo)注)**
**BarChart (分組顯示)**
**Horizontal-BarChart (水平狀態(tài)下的顯示)** -
餅狀圖
**PieChart (支持分區(qū)顯示)** -
散點(diǎn)圖
**ScatterChart** (正方形點(diǎn)靡砌、三角形點(diǎn)已脓、圓點(diǎn)以及更多) -
蠟燭圖 (K線(xiàn)圖)
**CandleStickChart** -
氣泡圖
**BubbleChart** (被氣泡區(qū)域覆蓋的值) -
雷達(dá)圖
**RadarChart** (蛛網(wǎng)圖)
Charts
目前沒(méi)有 關(guān)于 iOS/tvOS/macOS
版本的使用文檔,它的API和 MPAndroidChart有95%同步.你可以在這里查看 MPAndroidChart的文檔 wiki ,或者查看 ChartsDemo來(lái)學(xué)習(xí)和了解 Charts是如何使用的.
-
集成使用
-
CocoaPods Install: **
在你的Podfile
里面添加pod 'Charts'
, 'Charts' 是這個(gè)框架的名稱(chēng).同時(shí)也支持 Realm, 在你的Podfile
**里面添加pod 'Charts/Realm''
即可. 當(dāng)前的 Charts版本為 v2.3.0 - ** Carthage Install:**
github "danielgindi/Charts" == 2.2.5
github "danielgindi/Charts" ~> 2.2.5 -
CocoaPods Install: **
carthage build --no-skip-current && carthage archive Charts && carthage archive ChartsRealm
* **直接下載拖拽**
* 1. 將**`Charts.xcodeproj`**拖進(jìn)項(xiàng)目中
![Snip20161011_2.png](http://upload-images.jianshu.io/upload_images/313597-ce838afae9c1e1c1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![Snip20161011_3.png](http://upload-images.jianshu.io/upload_images/313597-7d14b545379a5289.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 2.將支持系統(tǒng)類(lèi)型改一下,**Project -> Target -> BuildSetting -> Embedded Binaries"+"**,選擇**Charts.framework**導(dǎo)入
![Snip20161011_4.png](http://upload-images.jianshu.io/upload_images/313597-63d9f030a13f883a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![Snip20161011_6.png](http://upload-images.jianshu.io/upload_images/313597-29d1b2e5257df7a0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 3.在使用的地方 **import Charts**
![Snip20161012_9.png](http://upload-images.jianshu.io/upload_images/313597-b309c1c4a13c298d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![Snip20161011_7.png](http://upload-images.jianshu.io/upload_images/313597-3de374d7d50e5571.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 4.如果你的項(xiàng)目是 ObjC 項(xiàng)目,你需要在你的橋接頭文件中導(dǎo)入, 通常使用 **YourProject-Swift.h**,例如在 **ChartsDemo**中,它是 **ChartsDemo-Swift.h**,不要嘗試導(dǎo)入Demo中的**ChartsDemo-Swift.h**,根據(jù)你的項(xiàng)目名稱(chēng)來(lái).
* 5.在 **`Build Options`**下,設(shè)置 **`Embedded Content Contains Swift Code`**