前言: 今天分享一個很漂亮的功能強大的圖表庫,希望對有需要的同學, 有幫助, 喜歡請點個贊,支持一下.謝謝~
在項目中如何加入Swift庫請看我的上一篇文章
編譯環境: Xcode7.3<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxoNSBpZD0="添加charts圖表庫">添加Charts圖表庫
// 在Podfile中
use_frameworks!
pod 'Charts'
import Charts
創建柱狀圖
func createLineChartView()
{
chartView = BarChartView.init(frame: CGRectMake(0, 64, screenWidth, screenHeight - 64))
chartView.barData
// 簽協議
chartView.delegate = self
chartView.backgroundColor = UIColor.whiteColor()
self.view.addSubview(chartView)
}
模擬數據賦值
func setChart(dataPoints: [String], values: [Double]) {
var dataEntries: [BarChartDataEntry] = []
for i in 0..
還可以保存當前的圖表狀態, 寫一個保存按鈕
func createRightBarButtonItem()
{
let buttonRight = UIButton.init(type: UIButtonType.Custom)
buttonRight.frame = CGRectMake(0, 0, 40, 40)
self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: buttonRight)
buttonRight.setTitle("Save", forState: UIControlState.Normal)
buttonRight.addTarget(self, action:#selector(ViewController.save(_:)), forControlEvents: UIControlEvents.TouchUpInside)
}
點擊方法中加入以下代碼
func save(btn: UIButton)
{
// 保存到相冊
chartView.saveToCameraRoll()
print("保存成功")
}
你可能還想實現點擊單個立柱實現不同的點擊事件
你可以 實現ChartViewDelegate
class ViewController: UIViewController, ChartViewDelegate {
// 在創建的時候簽協議
// chartView.delegate = self
// 實現協議方法
func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, dataSetIndex: Int, highlight: ChartHighlight) {
print("\(entry.value) in \(months[entry.xIndex])")
}
這樣創建折線圖
chartView = LineChartView.init(frame: CGRectMake(0, 64, screenWidth, screenHeight - 64))
模擬數據賦值改成如下代碼
var dataEntries: [ChartDataEntry] = []
for i in 0..
總結: 圖標支持縮放點擊,這裡我只給出了兩種樣式的圖標代碼示例, 詳情請看官方API和Demo請點擊
考慮到文章可能思路混亂有些地方不清楚我會放上github地址,方便大家學習下載查看請點擊