【问题标题】:How to change different highlight Color of xAxis and yAxis in LineChartView in Charts for selected chartDataSet?如何为选定的chartDataSet更改图表中LineChartView中xAxis和yAxis的不同突出显示颜色?
【发布时间】:2020-04-29 13:20:07
【问题描述】:

目前我正在使用这个图表库Danielgindi Charts

我想要实现的是,改变 lineChartView 的突出显示颜色,你能帮我实现同样的目标吗?

目前我正在使用这段代码来更改图表中的突出显示颜色,但无法更改所选 chartDataEntry 的 xAxis 和 yAxis 的颜色。

    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

请在附件中找到相同的图片。

那么,如何改变垂直和水平颜色的颜色。

提前致谢。

【问题讨论】:

    标签: ios swift charts linechart


    【解决方案1】:

    试试这个

    chart.xAxis.axisLineColor = UIColor.red
    chart.rightAxis.axisLineColor = UIColor.black
    

    【讨论】:

      【解决方案2】:

      这段代码对我有用。

      搜索这个类并用这个替换代码。

      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)
      

      【讨论】:

        猜你喜欢
        • 2017-03-24
        • 1970-01-01
        • 1970-01-01
        • 2012-12-17
        • 1970-01-01
        • 1970-01-01
        • 2010-09-18
        • 2015-11-24
        • 2011-06-19
        相关资源
        最近更新 更多