如何在烛台图表中在蜡烛的顶部和底部绘制自定义视图

问题描述

我将 iOS Charts 库用于烛台图表,但找不到任何方法来绘制图像库中显示的三角形的自定义视图。

我想根据标志显示蜡烛顶部和底部的三角形(视图)。

如果这在 Charts 库中无法实现,请告诉我可以实现此目标的替代库。

CandleSitckChart

{

    chartView.delegate = self
    
    chartView.chartDescription?.enabled = true
    chartView.drawBordersEnabled = false
    chartView.drawGridBackgroundEnabled = false
    
    chartView.xAxis.labelTextColor = .white
    chartView.rightAxis.labelTextColor = .white
    
    chartView.dragEnabled = true
    chartView.setScaleEnabled(true)
    chartView.pinchZoomEnabled = true
    chartView.drawMarkers = true
    
    chartView.legend.enabled = false

    chartView.leftAxis.enabled = false
    
    chartView.leftAxis.spacetop = 0.3
    chartView.leftAxis.spaceBottom = 0.3
    chartView.leftAxis.axisMinimum = 0
    chartView.rightAxis.enabled = true
    chartView.rightAxis.axisLineColor = .primaryBlue
    chartView.drawGridBackgroundEnabled = false
    
    let candleResponse = MasterData.shared.candleResponse
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "h:mm a"
    
    let dates = candleResponse
        .map { Date(timeIntervalSince1970: ($0.first ?? 0)/1000) }
        .map { dateFormatter.string(from: $0) }
    
    chartView.xAxis.valueFormatter = IndexAxisValueFormatter(values: dates)
    chartView.xAxis.labelPosition = .bottom
    
    
    let yVals1 = (0..<candleResponse.count).map { (i) -> CandleChartDataEntry in
        return CandleChartDataEntry(x: Double(i),shadowH: candleResponse[i][2],shadowL: candleResponse[i][3],open: candleResponse[i][1],close: candleResponse[i][4])
    }
   
    let set1 = CandleChartDataSet(entries: yVals1)
    set1.setDrawHighlightIndicators(true)
    set1.drawVerticalHighlightIndicatorEnabled = true
    set1.drawHorizontalHighlightIndicatorEnabled = true

    set1.axisDependency = .right
    set1.setColor(UIColor(white: 80/255,alpha: 1))
    set1.drawIconsEnabled = true
    set1.shadowColor = .darkGray
    set1.shadowWidth = 0.7
    set1.decreasingColor = .red
    set1.decreasingFilled = true
    set1.increasingColor = UIColor(red: 122/255,green: 242/255,blue: 84/255,alpha: 1)
    set1.increasingFilled = true
    set1.neutralColor = .blue

    let data = CandleChartData(dataSet: set1)
    data.setDrawValues(false)
    chartView.data = data
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)