折线图填充颜色褪色

Line chart fill color is faded

我正在尝试设置一个具有一种填充颜色的折线图,但由于某种原因,填充颜色变淡了。

示例

我添加到屏幕中间的随机视图和折线图的填充颜色都设置为红色,但由于某种原因图表的填充颜色变淡了。

可以在这里查看代码

@IBOutlet var liveChart : LineChartView!
    override func viewDidLoad() {
        super.viewDidLoad()

        self.title = "Chart Tests"

        configureChart(chart: liveChart)

        var xAxis = [String]()
        var yAxis = [Double]()
        for _ in 0..<10
        {
            xAxis.append("")
            let yVal = Double(randomBetweenNumbers(firstNum: 1.0, secondNum: 100.0))
            yAxis.append(yVal)
        }
        setData(xAxisArray: xAxis, yAxisArray: yAxis, chart: liveChart)

        let testView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
        testView.center = view.center
        testView.backgroundColor = UIColor.red
        view.addSubview(testView)
    }

    func randomBetweenNumbers(firstNum: CGFloat, secondNum: CGFloat) -> CGFloat{
        return CGFloat(arc4random()) / CGFloat(UINT32_MAX) * abs(firstNum - secondNum) + min(firstNum, secondNum)
    }

    func configureChart(chart : LineChartView)
    {
        chart.chartDescription?.text = ""
        chart.noDataText = "Loading Data"
        chart.backgroundColor = UIColor.clear

        chart.drawGridBackgroundEnabled = false
        chart.dragEnabled = true
        chart.rightAxis.enabled = false
        chart.leftAxis.enabled = true
        chart.doubleTapToZoomEnabled = false
        chart.legend.enabled = false
        chart.pinchZoomEnabled = true
        chart.highlightPerTapEnabled = false
        chart.highlightPerDragEnabled = false

        chart.xAxis.enabled = false
        chart.leftAxis.drawAxisLineEnabled = false
        chart.leftAxis.drawGridLinesEnabled = false
        chart.leftAxis.labelCount = 5
        chart.leftAxis.forceLabelsEnabled = true
    }

    func setData(xAxisArray : [String], yAxisArray : [Double], chart : LineChartView)
    {
        var yVals1 : [ChartDataEntry] = [ChartDataEntry]()
        if(xAxisArray.count > 0)
        {
            for i in 0 ..< xAxisArray.count
            {
                let chartEntry = ChartDataEntry(x: Double(i), y: yAxisArray[i], data: nil)
                yVals1.append(chartEntry)
            }
        }
        let set1: LineChartDataSet = LineChartDataSet(values: yVals1, label: "")
        set1.fillColor = UIColor.red
        set1.drawFilledEnabled = true
        set1.drawCirclesEnabled = false

        let data = LineChartData()
        data.addDataSet(set1)

        liveChart.data = data
    }

有办法解决这个问题吗?或者这只是图表填充颜色的工作方式?

编辑:

我正在使用

https://github.com/danielgindi/Charts

我假设你使用这个库:https://github.com/kevinbrewster/SwiftCharts

因此 LineChartView 会自动为填充颜色设置 alpha:https://github.com/kevinbrewster/SwiftCharts/blob/master/SwiftCharts/LineChart.swift#L758

尝试设置数据集fillAlpha属性