2016-12-21 18 views
0

我在我的項目中實現了一個水平條形圖的ios圖表。我需要單條的值出現在條的上方(因爲圖是水平的,標籤應該出現在條的右側)。但是,我無法使其工作。代碼如下:標籤以上欄不顯示爲單槓ios-charts

func setupHorizontalChartView() { 

     self.chartView.chartDescription?.enabled = false 
     chartView.dragEnabled = false 
     chartView.setScaleEnabled(true) 
     chartView.pinchZoomEnabled = false 

     let chartXAxis = chartView.xAxis 
     chartXAxis.labelPosition = .bottom 

     let chartLeftAxis = chartView.leftAxis 
     chartLeftAxis.labelFont = NSUIFont(name: "Helvetica", size: 12)! 
     chartLeftAxis.labelTextColor = UIColor.darkGray 

     chartView.rightAxis.enabled = false 

     chartView.drawValueAboveBarEnabled = true 

     let formatter = BarChartFormatter() 
     formatter.setValues(values: self.months) 

     chartView.xAxis.valueFormatter = formatter 
     chartView.xAxis.setLabelCount(self.months.count - 1, force: false) 

     chartView.xAxis.drawGridLinesEnabled = false 
     chartView.leftAxis.drawGridLinesEnabled = false 

     chartView.xAxis.drawAxisLineEnabled = false 
     chartView.leftAxis.drawAxisLineEnabled = false 

     chartView.leftAxis.drawLabelsEnabled = false 
    } 

    func setChart(dataPoints: [String], values: [Double]) { 

     var dataEntries: [BarChartDataEntry] = [] 

     for i in 0..<dataPoints.count { 
      let dataEntry = BarChartDataEntry(x: Double(i), y: values[i]) 
      dataEntries.append(dataEntry) 
     } 

     let chartDataSet = BarChartDataSet(values: dataEntries, label: "Units Sold") 

     chartDataSet.drawValuesEnabled = true 
     let chartData = BarChartData(dataSet: chartDataSet) 
     chartData.setDrawValues(true) 

     chartView.data = chartData 
    } 

drawValueAboveBarEnabled已被設置爲true爲chartView。當我使用BarChartView代替Horizo​​ntalBarChartView的相同代碼時,條的值會顯示在條的上方。但是,它不適用於橫向條形圖視圖。

回答

1

設置 chartView.leftAxis.axisMinimum = 0 幫了我。 我已經在這裏打開討論GitHub