iOS Charts制作圖表

最終效果

要實(shí)現(xiàn)的效果

使用第三方框架 Charts

主要是一些參數(shù)設(shè)置

//x軸方向 默認(rèn)上方
lineChartView.xAxis.labelPosition = .bottom
//自定義標(biāo)簽刻度
lineChartView.xAxis.valueFormatter = IndexAxisValueFormatter(values: dataPoints)
//設(shè)置虛線
lineChartView.xAxis.gridLineDashLengths = [4,2]
//不繪制y軸右側(cè)文字
lineChartView.rightAxis.drawLabelsEnabled = false
lineChartView.leftAxis.axisLineWidth = 2 //左Y軸寬度
lineChartView.leftAxis.axisLineColor = .black//左Y軸顏色
lineChartView.xAxis.axisLineWidth = 2 //x軸寬度
lineChartView.xAxis.axisLineColor = .black //x軸顏色
效果

對(duì)xy軸進(jìn)行一些操作

chartView.leftAxis.axisMinimum = -100 //最小刻度值
chartView.leftAxis.axisMaximum = 100 //最大刻度值
chartView.leftAxis.granularity = 50 //最小間隔
//y軸無(wú)網(wǎng)格線
lineChartView.leftAxis.drawGridLinesEnabled = false //不繪制網(wǎng)格線
//不開(kāi)啟十字線
chartDataSet.highlightEnabled = false
chartDataSet.drawFilledEnabled = true //開(kāi)啟填充色繪制
chartDataSet.fillColor = .orange  //設(shè)置填充色
chartDataSet.fillAlpha = 0.5 //設(shè)置填充色透明度

//開(kāi)啟填充色繪制
chartDataSet.drawFilledEnabled = true
//漸變顏色數(shù)組
let gradientColors = [UIColor.orange.cgColor, UIColor.white.cgColor] as CFArray
//每組顏色所在位置(范圍0~1)
let colorLocations:[CGFloat] = [1.0, 0.0]
//生成漸變色
let gradient = CGGradient.init(colorsSpace: CGColorSpaceCreateDeviceRGB(),
                               colors: gradientColors, locations: colorLocations)
//將漸變色作為填充對(duì)象s
chartDataSet.fill = Fill.fillWithLinearGradient(gradient!, angle: 90.0)
//不顯示圖例頭部
chartView.legend.form = .none
效果

添加背景顏色的話,只有矩形里面有顏色,所以要給整個(gè)加顏色,我們?cè)谕饷婕右粋€(gè)view設(shè)置顏色
同時(shí)要保證,這個(gè)圖表是這個(gè)view的子view,否則會(huì)被覆蓋
然后要設(shè)置圖標(biāo)背景顏色為透明


效果

未解決的問(wèn)題:

這里的初始點(diǎn)是通過(guò)給了一個(gè)值來(lái)實(shí)現(xiàn)的,如何讓他不顯示第一個(gè)和最后一個(gè)值
y軸的初始值130怎么去掉
曲線上的值為double如何不顯示小數(shù)點(diǎn)
怎么給y軸添加單位

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 【編者按】本文作者 Joyce Echessa 是渥合數(shù)位服務(wù)創(chuàng)辦人,畢業(yè)于臺(tái)灣大學(xué),近年來(lái)專注于協(xié)助客戶進(jìn)行 A...
    OneAPM閱讀 3,922評(píng)論 9 15
  • 1、通過(guò)CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明AI閱讀 16,186評(píng)論 3 119
  • 一、什么是 canvas? HTML5 元素用于圖形的繪制,通過(guò)腳本 (通常是JavaScript)來(lái)完成可以...
    LemonnYan閱讀 2,212評(píng)論 0 0
  • 發(fā)燒躺在床上給男朋友發(fā)信息:“發(fā)燒了…” 他回:“多喝水?。?我:“…39.2度” 他:“牛??!多喝水!” 你咋不...
    新穎旅行閱讀 845評(píng)論 0 0

友情鏈接更多精彩內(nèi)容