以下の様にChartsのPieChartのラベルのフォーマットを設定しました。
Swift
1class CustomLabelFomatter: NSObject, IValueFormatter { 2 3 let types: [String] 4 let values: [Double] 5 6 init(types: [String], values: [Double]) { 7 self.types = types 8 self.values = values 9 } 10 11 func convert(value: Double) -> String { 12 guard let convertedString = values 13 .enumerated() 14 .filter({$0.element == value}) 15 .map({ tuple -> String in 16 17 let index = tuple.offset 18 let type = types[index] 19 20 if value < 3600 { 21 return "" 22 } 23 switch type { 24 case "blank": 25 return "" 26 default: 27 return "(type)\n(round((value/3600)*10)/10)h" 28 } 29 30 }).first else {fatalError()} 31 32 return convertedString 33 } 34 35 func stringForValue(_ value: Double, entry: ChartDataEntry, dataSetIndex: Int, viewPortHandler: ViewPortHandler?) -> String { 36 37 return convert(value: value) 38 } 39} 40/**********省略************************/ 41 42let dataSet = PieChartDataSet(values: entries, label: "") 43dataSet.valueFormatter = CustomLabelFomatter(types: labels, values: values)
以上の様にしてvalueとlabelを表示していますが、PieChartDataSetのプロパティでxValuePositionとyValuePositionで.outsideSliceの様にしてそれぞれの位置を変えられる様に、これもvalueの値を外にしてlabelの方を内側にするというった様な使い方をしたいです。それは可能でしょうか?またyValuePositionで位置を設定するとretun""で表示していない所にもlabelやvalueが出てしまうのを無くしたいです。更にlabel,valueの色も変えることなどは可能でしょうか??
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/21 14:44
2018/09/21 14:50
2018/09/21 15:17
2018/09/22 04:39
2018/09/22 06:51