Как изменить различные цвета подсветки xAxis и yAxis в LineChartView в диаграммах для выбранного chartDataSet? - PullRequest
0 голосов
/ 29 апреля 2020

В настоящее время я использую эту библиотеку диаграмм Графики Danielgindi .

Я пытаюсь добиться изменения цвета подсветки lineChartView. Не могли бы вы помочь мне добиться этого? то же самое.

В настоящее время я использую этот фрагмент кода для изменения цвета подсветки на диаграмме, но не могу изменить цвет xAxis и yAxis для выбранного chartDataEntry.

    let set1 = LineChartDataSet(entries: self.dataEntry, label: "chart")
    set1.drawCirclesEnabled = false
    set1.mode = .horizontalBezier

    set1.drawVerticalHighlightIndicatorEnabled = true
    set1.highlightLineDashLengths = [8.0, 4.0]
    set1.highlightColor = UIColor.blue
    set1.highlightLineWidth = 2.0

    let data = LineChartData(dataSet: set1)
    self.chartView.data = data

Пожалуйста, найдите прикрепленное изображение для того же.

The required result where vertical highlight color is blue and horizontal highlight color is green

Итак, как изменить цвет вертикального и горизонтального цвета.

Спасибо за авансовый.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Этот фрагмент кода работал для меня.

Поиск в этом классе и замена кода на этот.

import Foundation
import CoreGraphics

 @objc(LineScatterCandleRadarChartRenderer)
 open class LineScatterCandleRadarRenderer: BarLineScatterCandleBubbleRenderer
{
public override init(animator: Animator, viewPortHandler: ViewPortHandler)
{
    super.init(animator: animator, viewPortHandler: viewPortHandler)
}

/// Draws vertical & horizontal highlight-lines if enabled.
/// :param: context
/// :param: points
/// :param: horizontal
/// :param: vertical
@objc open func drawHighlightLines(context: CGContext, point: CGPoint, set: ILineScatterCandleRadarChartDataSet)
{

    // draw vertical highlight lines
    if set.isVerticalHighlightIndicatorEnabled
    {
        context.beginPath()
        context.move(to: CGPoint(x: point.x, y: viewPortHandler.contentTop))
        context.addLine(to: CGPoint(x: point.x, y: viewPortHandler.contentBottom))
        context.strokePath()
    }

    // draw horizontal highlight lines
    if set.isHorizontalHighlightIndicatorEnabled
    {
        context.beginPath()
        context.move(to: CGPoint(x: viewPortHandler.contentLeft, y: point.y))
        context.addLine(to: CGPoint(x: viewPortHandler.contentRight, y: point.y))


        context.setStrokeColor(UIColor.brown.cgColor)
        context.setFillColor(UIColor.orange.cgColor)
        context.strokePath()
    }
  }
}

Итак, в основном этот фрагмент кода работает для меня в функции drawHighlightLines .

 context.setStrokeColor(UIColor.brown.cgColor)
 context.setFillColor(UIColor.orange.cgColor)
0 голосов
/ 29 апреля 2020

Попробуйте это

chart.xAxis.axisLineColor = UIColor.red
chart.rightAxis.axisLineColor = UIColor.black
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...