Эх сурвалжийг харах

Merge pull request #2891 from liuxuan30/2890

fix #2890. Turned out it's multiple bar chart but not grouped
Xuan 7 жил өмнө
parent
commit
130d02684b

+ 15 - 3
ChartsDemo-OSX/ChartsDemo-OSX/Demos/BarDemoViewController.swift

@@ -21,8 +21,9 @@ open class BarDemoViewController: NSViewController
         super.viewDidLoad()
         
         // Do any additional setup after loading the view.
-        let ys1 = Array(1..<10).map { x in return sin(Double(x) / 2.0 / 3.141 * 1.5) }
-        let ys2 = Array(1..<10).map { x in return cos(Double(x) / 2.0 / 3.141) }
+        let xArray = Array(1..<10)
+        let ys1 = xArray.map { x in return sin(Double(x) / 2.0 / 3.141 * 1.5) }
+        let ys2 = xArray.map { x in return cos(Double(x) / 2.0 / 3.141) }
         
         let yse1 = ys1.enumerated().map { x, y in return BarChartDataEntry(x: Double(x), y: y) }
         let yse2 = ys2.enumerated().map { x, y in return BarChartDataEntry(x: Double(x), y: y) }
@@ -31,10 +32,21 @@ open class BarDemoViewController: NSViewController
         let ds1 = BarChartDataSet(values: yse1, label: "Hello")
         ds1.colors = [NSUIColor.red]
         data.addDataSet(ds1)
-        
+
         let ds2 = BarChartDataSet(values: yse2, label: "World")
         ds2.colors = [NSUIColor.blue]
         data.addDataSet(ds2)
+
+        let barWidth = 0.4
+        let barSpace = 0.05
+        let groupSpace = 0.1
+        
+        data.barWidth = barWidth
+        self.barChartView.xAxis.axisMinimum = Double(xArray[0])
+        self.barChartView.xAxis.axisMaximum = Double(xArray[0]) + data.groupWidth(groupSpace: groupSpace, barSpace: barSpace) * Double(xArray.count)
+        // (0.4 + 0.05) * 2 (data set count) + 0.1 = 1
+        data.groupBars(fromX: Double(xArray[0]), groupSpace: groupSpace, barSpace: barSpace)
+
         self.barChartView.data = data
         
         self.barChartView.gridBackgroundColor = NSUIColor.white