簡體   English   中英

iOS圖表按大小將條形圖分組以適合

[英]iOS-Charts grouped bar chart with size to fit

我最近在我的條形圖中添加了“ barChartData.groupBars(fromX:0,groupSpace:0.5,barSpace:0.03)”,這樣我就不會出現重疊的條形,也無法弄清楚如何設置寬度以適合(沒有水平溢出)

在此處輸入圖片說明

func setupGroupedBarChartData(values1: [String], values2: [String], barLabel1: String, barLabel2: String, barColor1: UIColor, barColor2: UIColor) -> BarChartData {
    let dataValues1 = values1.flatMap{ Double($0) }
    let dataValues2 = values2.flatMap{ Double($0) }

    var dataEntries1: [BarChartDataEntry] = []
    var dataEntries2: [BarChartDataEntry] = []

    for i in 0..<dataValues1.count {
        let dataEntry1 = BarChartDataEntry(x: Double(i), y: dataValues1[i])
        dataEntries1.append(dataEntry1)

        let dataEntry2 = BarChartDataEntry(x: Double(i), y: dataValues2[i])
        dataEntries2.append(dataEntry2)
    }

    let chartDataSet1 = BarChartDataSet(values: dataEntries1, label: barLabel1)
    chartDataSet1.colors = [barColor1]
    chartDataSet1.valueTextColor = AppColors.lightText
    let chartDataSet2 = BarChartDataSet(values: dataEntries2, label: barLabel2)
    chartDataSet2.colors = [barColor2]
    chartDataSet2.valueTextColor = AppColors.lightText

    var groupedDataSet : [BarChartDataSet] = [BarChartDataSet]()
    groupedDataSet.append(chartDataSet1)
    groupedDataSet.append(chartDataSet2)

    let barChartData = BarChartData(dataSets: groupedDataSet)
    barChartData.groupBars(fromX: 0, groupSpace: 0.5, barSpace: 0.03)

    //display data as integer
    let format = NumberFormatter()
    format.generatesDecimalNumbers = false
    let formatter = DefaultValueFormatter(formatter: format)
    barChartData.setValueFormatter(formatter)


    return barChartData
}

您可以這樣使用:

您的計算將如下所示:

// (barWidth + barSpace) * (no.of.bars) + groupSpace = 1.00 -> interval per "group"

在您的代碼中:

barChartData.groupBars(fromX: 0, groupSpace: 0.14, barSpace: 0.03)
barChartData.barWidth = 0.4

barChartView.xAxis.axisMinimum = 0
barChartView.xAxis.axisMaximum = 23

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM