ios Графики меняют цвет линий сетки - PullRequest
0 голосов
/ 22 февраля 2020

Я сделал небольшое приложение для измерения пульса от iWatch. Диаграмма работает так, как задумано, и показывает текущую частоту пульса, но у меня есть несколько проблем с дизайном. Ниже вы можете найти изображение моего графика и его настройки в быстром.

ios График

         //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 = LineChartDataSet(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.init(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 Ответ

0 голосов
/ 23 февраля 2020

Я просматривал все возможные атрибуты и обнаружил, что добавление линий:

self.chtChart.xAxis.axisLineColor = UIColor.white self.chtChart.rightAxis.gridColor = UIColor.white

решает проблему с нижней границей, а также меняет цвет линий сетки на белый .

Редактировать: проблема с нижней строкой все еще остается проблемой. Он не отображается на экране.

Edit2: добавление всех границ сразу и установка их цвета, кажется, решают проблему:

self.chtChart.drawBordersEnabled = true self.chtChart.borderColor = UIColor.white

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...