2016-06-22 7 views
2

Ich verwende das Diagramm-Framework (von Daniel Gindi). Es funktionierte gut, aber Wie% (Zeichen) auf Kreisdiagramm angezeigt wird?
Ich bin auch versuchen, NSNumberFormatter() -Methode für verdeckte Daten Wert im Percentage, aber nicht erhalten% Zeichen.
Ich lade bin Code hierWie zeigen Prozentzeichen in Kreisdiagramm mit Daniel Gindi/Chart-Bibliothek in Swift (IOS-Diagramm)

@IBOutlet var pieChart: PieChartView! 
    override func viewDidLoad() { 
      super.viewDidLoad() 
      var data = [25.0,37.5,12.5,12.5,12.5] // pie chart data 
      var status = ["A","B","C","D","E"] // status 
      setChart(status, values: data) 
      self.pieChart.drawSliceTextEnabled = false 

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

      pieChart.noDataText = "you need to provide data for chart" 
      pieChart.noDataTextDescription = "" 
      self.pieChart.descriptionText = "" 

      var dataEntries: [ChartDataEntry] = [] 
      //pieChart.centerText = " " 
      for i in 0..<dataPoints.count { 

       let dataEntry = ChartDataEntry(value: values[i], xIndex: i) 
       dataEntries.append(dataEntry) 

      } 

      let pieChartDataSet = PieChartDataSet(yVals: dataEntries, label: "") 

      var colors: [UIColor] = [] 


      for _ in 0..<dataPoints.count { 
       let red = Double(arc4random_uniform(256)) 
       let green = Double(arc4random_uniform(256)) 
       let blue = Double(arc4random_uniform(256)) 

       let color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1) 
       colors.append(color) 

       pieChartDataSet.colors = colors 

      } 

      let pieChartData = PieChartData(xVals: dataPoints, dataSet: pieChartDataSet) 

      pieChart.data = pieChartData 
      pieChart.animate(yAxisDuration: 2.0, easingOption: .EaseInOutBack) 
} 

Ausgang: =>

enter image description here

+0

Ich denke, dass 'PercentFormatter',' YAxisValueFormatter' oder 'XAxisValueFormatter' sein kann ein Hinweis ... – Larme

+0

Ist Ihr Problem gelöst? dann schließe diese Frage. – Hasya

Antwort

6

auf PieChart% Zeichen zu zeigen.

Download Example Project

Code unten verwenden, um dies einfach.

let formatter = NSNumberFormatter() 
formatter.numberStyle = .PercentStyle 
formatter.maximumFractionDigits = 1 
formatter.multiplier = 1.0 
pieChartData.dataSet?.valueFormatter = formatter 

Sie erhalten% Zeichen nach Ihrer Wertanzeige auf Scheibe.

enter image description here

Quellehttps://github.com/danielgindi/Charts

Haben Sie eine glückliche Codierung.

+0

Methode Verwendung pieChartDataSet.valueFormatter = Formatierer anstelle von pieChartData.dataSet? .valueFormatter = Formatierer als get% -Zeichen – iParesh

+1

Gut, Sie können die Antwort akzeptieren und diesen Thread schließen. – Hasya

0

Fügen Sie einfach diese Zeilen hinzu, um den Prozentsatz in PieChart zu formatieren.

 let formatter = NSNumberFormatter() 
         formatter.numberStyle = .PercentStyle 
         formatter.maximumFractionDigits = 1 
         formatter.multiplier = 1.0 
         pieChartData.setValueFormatter(formatter) 
// text color of percentage label 
    slcCell.pieChartView.data?.setValueTextColor(UIColor.clearColor()) 
8

Auf Swift3 mit der neuesten Version von charts Sie % Formatierung auf Kreisdiagramm als Folgendes tun:

let formatter = NumberFormatter() 
    formatter.numberStyle = .percent 
    formatter.maximumFractionDigits = 1 
    formatter.multiplier = 1.0 
    pieChartData.setValueFormatter(DefaultValueFormatter(formatter:formatter)) 
0
let formatter = NumberFormatter() 
    formatter.numberStyle = .percent 
    formatter.maximumFractionDigits = 1 
    formatter.multiplier = 1.0 
    chart.data?.setValueFormatter(formatter as? IValueFormatter)