我有一个带有多个BarChartDataSet的水平图表(因为它们的BarChartDataEntry颜色不同),但是在将其添加到BarChartData之后,UI看起来很丑:(
所以问题是我如何配置BarChartDataSet的宽度?
我发现了两个属性barSpace和groupSpace,但不知道如何使用它们:)

这是代码

private func updateChartData () {
        //days
        let days = ["", "", "", "", "", "", ""]
        var dataSets:[BarChartDataSet] = []

        let valuesArr = [[2.0, 3.0, 4.0, 3.0, 2.0, 0.2, 0.7],
                         [3.0, 5.0, 3.6, 2.0, 1.0, 0.2, 0.7],
                         [1.0, 2.0, 6.0, 4.0, 1.5, 0.2, 0.7],
                         [4.0, 3.2, 4.4, 3.0, 2.0, 0.2, 0.7],
                         [0.0, 3.0, 4.0, 3.1, 2.2, 0.2, 0.7],
                         [0.8, 2.1, 4.3, 3.4, 2.0, 0.2, 0.7],
                         [2.9, 3.3, 4.6, 3.7, 2.8, 0.9, 0.7]]

        for (index, values) in valuesArr.enumerate() {
            let entry = BarChartDataEntry.init(values: values, xIndex: index)
            let set = BarChartDataSet.init(yVals: [entry], label: nil)
//            set.barSpace = 1
            set.drawValuesEnabled = false
            set.colors = [UIColor.clearColor(), UIColor.greenColor(), UIColor.blackColor(), UIColor.redColor()]

            dataSets.append(set)
        }

        let data = BarChartData.init(xVals: days, dataSets: dataSets)
//        data.groupSpace = 4
        self.contentView.data = data

        let rightAxis = self.contentView.rightAxis
        rightAxis.enabled = true
        rightAxis.labelFont = UIFont.systemFontOfSize(10)
        rightAxis.drawAxisLineEnabled = true
        rightAxis.drawGridLinesEnabled = true
        rightAxis.axisMinValue = max(0.0, self.contentView.data!.yMin - 1.0)
        rightAxis.axisMaxValue = min(23.0, self.contentView.data!.yMax + 1.0)
        rightAxis.labelCount = Int(rightAxis.axisMaxValue - rightAxis.axisMinValue)
        rightAxis.axisMinValue = 1.0
        rightAxis.axisMaxValue = 23.0

    }


以及运行后的外观

ios - 如何设置BarChartDataSet宽度-LMLPHP

最佳答案

我相信可以通过更改barSpace属性来实现。请注意,以百分比表示。如果条形图的整个空间为100%,则barSpace为0.25表示其中25%是空间,而75%是条形图。

关于ios - 如何设置BarChartDataSet宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37210582/

10-14 21:13