Przeglądaj źródła

Fix #28 => Add Double Layer Half Pie ( semi-circle donut) Chart Sample

An An 3 lat temu
rodzic
commit
f2afa1602e

+ 44 - 0
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/chartcomposer/ChartOptionsComposer.kt

@@ -1206,4 +1206,48 @@ function () {
             ))
     }
 
+    fun doubleLayerHalfPieChart(): AAOptions {
+        val aaChartModel = AAChartModel()
+            .chartType(AAChartType.Pie)
+            .title("浏览器市场占比历史对比")
+            .subtitle("无任何可靠依据的虚拟数据")
+            .dataLabelsEnabled(false) //是否直接显示扇形图数据
+            .yAxisTitle("摄氏度")
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Past")
+                    .size("40%") //尺寸大小
+                    .innerSize("30%") //内部圆环半径大小占比
+                    .borderWidth(0f) //描边的宽度
+                    .allowPointSelect(false) //是否允许在点击数据点标记(扇形图点击选中的块发生位移)
+                    .data(arrayOf(
+                        arrayOf("Firefox Past", 3336.2),
+                        arrayOf("Chrome Past",    26.8),
+                        arrayOf("Safari Past",    88.5),
+                        arrayOf("Opera Past",     46.0),
+                        arrayOf("Others Past",   223.0)
+                    )),
+                AASeriesElement()
+                    .name("Now")
+                    .size("80%") //尺寸大小
+                    .innerSize("70%") //内部圆环半径大小占比
+                    .borderWidth(0f) //描边的宽度
+                    .allowPointSelect(false) //是否允许在点击数据点标记(扇形图点击选中的块发生位移)
+                    .data(arrayOf(
+                        arrayOf("Firefox Now", 336.2),
+                        arrayOf("Chrome Now", 6926.8),
+                        arrayOf("Safari Now",  388.5),
+                        arrayOf("Opera Now",   446.0),
+                        arrayOf("Others Now",  223.0)
+                    ))))
+
+        val aaOptions: AAOptions = aaChartModel.aa_toAAOptions()
+        aaOptions.plotOptions?.pie?.apply {
+            startAngle(-90f)
+            endAngle(90f)
+        }
+
+        return aaOptions
+    }
+
 }