swift ios图表更改网格线颜色

qfe3c7zg  于 2023-10-15  发布在  Swift
关注(0)|答案(1)|浏览(106)

我做了一个小应用程序测量心率从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
wlp8pajw

wlp8pajw1#

我检查了所有可能的属性,发现添加行:
self.chtChart.xAxis.axisLineColor = UIColor.white self.chtChart.rightAxis.gridColor = UIColor.white
解决了底部边框的问题,还将网格线的颜色更改为白色。
编辑:底线问题似乎仍然是一个问题。它不会显示在屏幕上。
编辑2:一次添加所有边框并设置它们的颜色似乎可以解决这个问题:
self.chtChart.drawBordersEnabled = true self.chtChart.borderColor = UIColor.white

相关问题