1
我想通過danielgindi繪製iOS Charts庫的雷達圖表,但我無法弄清楚如何使用選項,特別是關於軸的選項。如何設置iOS雷達圖的軸選項?
它平時的工作,但是當我設置的變量列表(array
)作爲[100.0, 100.0, 100.0, 100.0, 100.0]
,它也表示縮放這樣的圖表:
取而代之的是,當我設置array
爲[90.0, 80.0, 90.0, 70.0, 20.0]
,網格線的間隔是不是20儘管我的代碼:
從這些情況來看歐輸入,問題的原因似乎是該軸的選項。但是,我自己無法解決這個問題。
如何修復圖表的大小和軸的範圍,並根據需要繪製網格線?
我使用Xcode 8.1/swift 2.3/Charts 2.3.1。
import UIKit
import Charts
class ViewController: UIViewController {
@IBOutlet weak var radarChartView: RadarChartView!
//Label
let subjects = ["English", "Math", "Physics", "Chemistry", "Biology"]
//Points
let array = [100.0, 100.0, 100.0, 100.0, 100.0]
override func viewDidLoad() {
super.viewDidLoad()
setChart(subjects, values: array)
print("array:")
print(array)
}
func setChart(dataPoints: [String], values: [Double]) {
radarChartView.noDataText = "You need to provide data for the chart."
var dataEntries: [ChartDataEntry] = []
for i in 0..<dataPoints.count {
let dataEntry = ChartDataEntry(value: values[i], xIndex: i)
dataEntries.append(dataEntry)
}
let chartDataSet = RadarChartDataSet(yVals: dataEntries, label: "Units Sold")
let chartData = RadarChartData(xVals: subjects, dataSet: chartDataSet)
radarChartView.data = chartData
//Options of radarChart
radarChartView.sizeToFit()
radarChartView.descriptionText = ""
//Options for the axis from here. The range is 0-100, the interval is 20
radarChartView.yAxis.labelCount = 6
radarChartView.yAxis.axisMinValue = 0.0
radarChartView.yAxis.axisMaxValue = 100.0
radarChartView.rotationEnabled = false
chartDataSet.drawFilledEnabled = true
//Present the number as integer
let numberFormatter = NSNumberFormatter()
numberFormatter.generatesDecimalNumbers = false
chartDataSet.valueFormatter = numberFormatter
radarChartView.yAxis.valueFormatter = numberFormatter
//Other options
radarChartView.legend.enabled = false
radarChartView.yAxis.gridAntialiasEnabled = true
radarChartView.animate(yAxisDuration: 2.0)
}