2016-06-22 3 views
2

Chartsフレームワーク(Daniel gindi)を使用しています。それはうまくいきましたが、 piechartに%(符号)を表示する方法はありますか?
Percantageでは隠密データ値にはNSNumberFormatter()メソッドを使用しますが、%signは取得しません。
私はここにアップロードコード表示方法daniel gindi/chart library in swift(IOS Chart)

@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) 
} 

出力午前:pieChartの上の%記号を表示するには=>

enter image description here

+0

私は 'PercentFormatter'、' YAxisValueFormatter'または 'XAxisValueFormatter'があり得ることを推測しますヒント... – Larme

+0

問題は解決しましたか?この質問を閉じます。 – Hasya

答えて

6

Download Example Project

ただ、コードの下にこれを使用しています。

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

スライスに値を表示した後に%記号が表示されます。

enter image description here

ソースhttps://github.com/danielgindi/Charts

は幸せなコーディングを持っています。

+0

メソッドは、pieChartData.dataSetの代わりにpieChartDataSet.valueFormatter = formatterを使用します。.valueFormatter = get%signよりもフォーマッター – iParesh

+1

いいえ、あなたは答えを受け入れ、このスレッドを閉じることができます。 – Hasya

0

パーセントをフォーマットするためにこれらの行を追加するだけでPieChart。あなたは以下のように円グラフで書式設定%を行うことができますchartsの最新バージョンとSwift3

 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

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) 
関連する問題