我做了一个小应用程序测量心率从iWatch。图表按预期显示当前心率,但我对设计有几个问题。下面你可以找到我的图表的图像和它在swift中的设置。
// chart set up
self.chtChart.delegate = self as? ChartViewDelegate
self.chtChart.noDataTextColor = UIColor.white
self.chtChart.noDataText = "Press Start button to display the chart"
let set_a: LineChartDataSet = .init(entries: [ChartDataEntry(x: Double(Int(0)), y: self.valueHR)], label: "BPM")
set_a.drawCirclesEnabled = false
set_a.setColor(UIColor.systemPink)
set_a.drawValuesEnabled = false
set_a.lineWidth = 5.0
// remove vertical grid and labels
self.chtChart.xAxis.drawGridLinesEnabled = false
self.chtChart.rightAxis.drawLabelsEnabled = false
self.chtChart.xAxis.drawLabelsEnabled = false
// change label 'BPM' color
self.chtChart.legend.textColor = UIColor.white
// change left numbers (bpm values)
self.chtChart.leftAxis.labelTextColor = UIColor.white
// change right border line color
self.chtChart.rightAxis.axisLineColor = UIColor.white
// change left border line to white
self.chtChart.leftAxis.axisLineColor = UIColor.white
// change values from decimal to int on left axis
let fmt = NumberFormatter()
fmt.numberStyle = .decimal
fmt.maximumFractionDigits = 0
fmt.groupingSeparator = ","
fmt.decimalSeparator = "."
self.chtChart.leftAxis.valueFormatter = DefaultAxisValueFormatter(formatter: fmt)
self.chtChart.data = LineChartData(dataSets: [set_a])
正如你所看到的,我的图表没有底部边框,我也不能改变图表内部网格线的颜色(我想把它改为白色)。我试着执行以下命令,但没有任何变化:
self.chtChart.xAxis.axisLineColor = UIColor.white
self.chtChart.borderColor = UIColor.white
self.chtChart.xAxis.gridColor = UIColor.white
1条答案
按热度按时间wlp8pajw1#
我检查了所有可能的属性,发现添加行:
self.chtChart.xAxis.axisLineColor = UIColor.white self.chtChart.rightAxis.gridColor = UIColor.white
解决了底部边框的问题,还将网格线的颜色更改为白色。
编辑:底线问题似乎仍然是一个问题。它不会显示在屏幕上。
编辑2:一次添加所有边框并设置它们的颜色似乎可以解决这个问题:
self.chtChart.drawBordersEnabled = true self.chtChart.borderColor = UIColor.white