2017-10-10 72 views
2

我想要一個文本對齊到餅圖的中心,並根據進度填充具有特定顏色的餅圖邊框。如何對齊中間或PieChart中的文本在swift 3.0中?

  • 對於餅圖,我使用VBPieChart庫。

我附上了截圖的源代碼。

func updateChartData() 
    { 
     let chart = PieChartView(frame: self.view.bounds) 
     let track = ["Savings", "Offline-Online Rewards", "Refference Rewards"] 
     let money = [650, 456.13, 78.67] 
     var entries = [PieChartDataEntry]() 
     for (index, value) in money.enumerated() { 
      let entry = PieChartDataEntry() 
      entry.y = value 
      entry.label = track[index] 
      entries.append(entry) 
     } 
     let set = PieChartDataSet(values: entries, label: "Pie Chart") 
     var colors: [UIColor] = [] 
     for _ in 0..<money.count 
     { 
      let color1 = UIColor(rgb: 0x92C46B) 
      let color2 = UIColor(rgb: 0x249DAC) 
      let color3 = UIColor(rgb: 0x2A82C0) 
      colors.append(color1) 
      colors.append(color2) 
      colors.append(color3) 
     } 
     set.colors = colors 
     let data = PieChartData(dataSet: set) 
     chart.data = data 
     chart.noDataText = "No data available" 
     chart.isUserInteractionEnabled = false 
     let d = Description() 
     d.text = "iOSCharts.io" 
     chart.chartDescription = d 
     self.view.addSubview(chart) 

    } 

回答

2

爲了在第二個屏幕截圖中創建餅圖,應該有一箇中心文本。

let chartAttribute = [ NSFontAttributeName: UIFont(name: "CustomFont", size: 14.0)! ] 
let chartAttrString = NSAttributedString(string: "3,000/-", attributes: chartAttribute) 
chart.centerAttributedText = chartAttrString 

爲了餅圖中顯示十進制值,

let data = PieChartData(dataSet: set) 
let format = NumberFormatter() 
format.numberStyle = .decimal 
format.decimalSeparator = "." 
let formatter = DefaultValueFormatter(formatter: format) 
data.setValueFormatter(formatter) 
chart.data = data 
+0

@ronakpatel我沒有得到什麼ümeant..Can你請解釋一下嗎? – Sneha

+0

@ronakpatel請檢查更新的答案。 – Sneha

+0

@ronakpatel我只從圖書館的github鏈接獲得...你想要什麼? – Sneha