Browse Source

Add more useful samples for SpecialChartActivity

An An 2 năm trước cách đây
mục cha
commit
da4c97b715

+ 30 - 22
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/basiccontent/MainActivity.kt

@@ -16,25 +16,29 @@ class MainActivity : AppCompatActivity() {
                 "Bar Chart---条形图",
                 "Area Chart---折线填充图",
                 "Areaspline Chart---曲线填充图",
-                "Step Area Chart--- 直方折线填充图",
-                "Step Line Chart--- 直方折线图",
+                "Step Area Chart---直方折线填充图",
+                "Step Line Chart---直方折线图",
                 "Line Chart---折线图",
                 "Spline Chart---曲线图"
             ), arrayOf(
-                "Polar Chart---极地图图",
+                "Polar Column Chart---玫瑰图",
+                "Polar Bar Chart---径向条形图",
+                "Polar Line Chart---蜘蛛图",
+                "Polar Area Chart---雷达图",
+                "Step Line Chart---直方折线图",
+                "Step Area Chart---直方折线填充图",
                 "Pie Chart---扇形图",
                 "Bubble Chart---气泡图",
                 "Scatter Chart---散点图",
                 "Arearange Chart---区域范围图",
-                "Columnrange Chart--- 柱形范围图",
-                "Step Line Chart--- 直方折线图",
-                "Step Area Chart--- 直方折线填充图",
-                "Boxplot Chart--- 箱线图",
-                "Waterfall Chart--- 瀑布图",
+                "Columnrange Chart---柱形范围图",
+                "Boxplot Chart---箱线图",
+                "Waterfall Chart---瀑布图",
                 "Pyramid Chart---金字塔图",
                 "Funnel Chart---漏斗图",
-                "Errorbar Chart---误差图"
-            ), arrayOf(
+                "Errorbar Chart---误差图",
+                "Gauge Chart---仪表图",
+                ), arrayOf(
                 "arearangeMixedLine",
                 "columnrangeMixedLine",
                 "stackingColumnMixedLine",
@@ -115,8 +119,8 @@ class MainActivity : AppCompatActivity() {
                 "Bar Chart---条形图",
                 "Area Chart---折线填充图",
                 "Areaspline Chart---曲线填充图",
-                "Step Area Chart--- 直方折线填充图",
-                "Step Line Chart--- 直方折线图",
+                "Step Area Chart---直方折线填充图",
+                "Step Line Chart---直方折线图",
                 "Line Chart---折线图",
                 "Spline Chart---曲线图",
                 "Scatter Chart---散点图"
@@ -144,8 +148,8 @@ class MainActivity : AppCompatActivity() {
                 "Bar Chart---条形图",
                 "Area Chart---折线填充图",
                 "Areaspline Chart---曲线填充图",
-                "Step Area Chart--- 直方折线填充图",
-                "Step Line Chart--- 直方折线图",
+                "Step Area Chart---直方折线填充图",
+                "Step Line Chart---直方折线图",
                 "Line Chart---折线图",
                 "Spline Chart---曲线图"
             ), arrayOf(
@@ -153,8 +157,8 @@ class MainActivity : AppCompatActivity() {
                 "Bar Chart---条形图",
                 "Area Chart---折线填充图",
                 "Areaspline Chart---曲线填充图",
-                "Step Area Chart--- 直方折线填充图",
-                "Step Line Chart--- 直方折线图",
+                "Step Area Chart---直方折线填充图",
+                "Step Line Chart---直方折线图",
                 "Line Chart---折线图",
                 "Spline Chart---曲线图"
             )
@@ -172,18 +176,22 @@ class MainActivity : AppCompatActivity() {
                 AAChartType.Spline.value
             ), arrayOf( /*特殊类型图表*/
                 AAChartType.Column.value,
+                AAChartType.Bar.value,
+                AAChartType.Line.value,
+                AAChartType.Area.value,
                 AAChartType.Pie.value,
                 AAChartType.Bubble.value,
                 AAChartType.Scatter.value,
                 AAChartType.Arearange.value,
                 AAChartType.Columnrange.value,
-                AAChartType.Line.value,
-                AAChartType.Area.value,
+                AAChartType.Spline.value,
+                AAChartType.Areaspline.value,
                 AAChartType.Boxplot.value,
                 AAChartType.Waterfall.value,
                 AAChartType.Pyramid.value,
                 AAChartType.Funnel.value,
-                AAChartType.Errorbar.value
+                AAChartType.Errorbar.value,
+                AAChartType.Gauge.value,
             ), arrayOf( /*Mixed Chart---混合图*/
                 "arearangeMixedLine",
                 "columnrangeMixedLine",
@@ -319,9 +327,9 @@ class MainActivity : AppCompatActivity() {
 
    private fun setupExpandableListView() {
         val groupTitleArr = arrayOf(
-            "Basic Type Chart --- 基础类型图表",
-            "Special Type Chart --- 特殊类型图表",
-            "Mixed Chart --- 混合图形",
+            "Basic Type Chart ---基础类型图表",
+            "Special Type Chart ---特殊类型图表",
+            "Mixed Chart ---混合图形",
             "Custom Style Chart---一些自定义风格样式图表",
             "Draw Chart With AAOptions---通过Options绘图",
             "Only Refresh data ---即时刷新图表数据",

+ 7 - 3
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/basiccontent/SpecialChartActivity.kt

@@ -55,22 +55,26 @@ class SpecialChartActivity : AppCompatActivity() {
     private fun configureChartModelWithChartType(chartType: String): AAChartModel? {
         when (chartType) {
             AAChartType.Column.value -> return SpecialChartComposer.configurePolarColumnChart()
+            AAChartType.Bar.value -> return SpecialChartComposer.configurePolarBarChart()
+            AAChartType.Line.value -> return SpecialChartComposer.configurePolarLineChart()
+            AAChartType.Area.value -> return SpecialChartComposer.configurePolarAreaChart()
             AAChartType.Pie.value -> return SpecialChartComposer.configurePieChart()
             AAChartType.Bubble.value -> return SpecialChartComposer.configureBubbleChart()
             AAChartType.Scatter.value -> return SpecialChartComposer.configureScatterChart()
             AAChartType.Arearange.value -> return SpecialChartComposer.configureArearangeChart()
             AAChartType.Areasplinerange.value -> return SpecialChartComposer.configureAreasplinerangeChart()
             AAChartType.Columnrange.value -> return SpecialChartComposer.configureColumnrangeChart()
-            AAChartType.Line.value -> return SpecialChartComposer.configureStepLineChart()
-            AAChartType.Area.value -> return SpecialChartComposer.configureStepAreaChart()
+            AAChartType.Spline.value -> return SpecialChartComposer.configureStepLineChart()
+            AAChartType.Areaspline.value -> return SpecialChartComposer.configureStepAreaChart()
             AAChartType.Boxplot.value -> return SpecialChartComposer.configureBoxplotChart()
             AAChartType.Waterfall.value -> return SpecialChartComposer.configureWaterfallChart()
             AAChartType.Pyramid.value -> return SpecialChartComposer.configurePyramidChart()
             AAChartType.Funnel.value -> return SpecialChartComposer.configureFunnelChart()
             AAChartType.Errorbar.value -> return SpecialChartComposer.configureErrorbarChart()
+            AAChartType.Gauge.value -> return SpecialChartComposer.configureGaugeChart()
         }
 
-        return null
+        return SpecialChartComposer.configurePolarColumnChart()
     }
 
 }

+ 123 - 5
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/chartcomposer/SpecialChartComposer.kt

@@ -28,9 +28,11 @@
 package com.github.aachartmodel.aainfographics.demo.chartcomposer
 
 import com.github.aachartmodel.aainfographics.aachartcreator.*
-import com.github.aachartmodel.aainfographics.aaoptionsmodel.*
-import com.github.aachartmodel.aainfographics.aatools.*
-import java.util.*
+import com.github.aachartmodel.aainfographics.aaoptionsmodel.AADataLabels
+import com.github.aachartmodel.aainfographics.aaoptionsmodel.AAStyle
+import com.github.aachartmodel.aainfographics.aaoptionsmodel.AATooltip
+import com.github.aachartmodel.aainfographics.aatools.AAColor
+import com.github.aachartmodel.aainfographics.aatools.AAGradientColor
 
 object SpecialChartComposer {
 
@@ -55,6 +57,85 @@ object SpecialChartComposer {
             .series(arrayOf(
                 AASeriesElement()
                     .name("2018")
+                    .colorByPoint(true)
+                    .data(arrayOf(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6))
+            ))
+    }
+
+    fun configurePolarBarChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Bar)
+            .polar(true)
+            .dataLabelsEnabled(false)
+            .categories(arrayOf(
+                "January",
+                "February",
+                "March",
+                "April",
+                "May",
+                "June",
+                "July",
+                "August",
+                "September",
+                "October",
+                "November",
+                "December"))
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("2018")
+                    .colorByPoint(true)
+                    .data(arrayOf(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6))
+            ))
+    }
+
+    fun configurePolarLineChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Line)
+            .polar(true)
+            .dataLabelsEnabled(false)
+            .categories(arrayOf(
+                "January",
+                "February",
+                "March",
+                "April",
+                "May",
+                "June",
+                "July",
+                "August",
+                "September",
+                "October",
+                "November",
+                "December"))
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("2018")
+                    .colorByPoint(true)
+                    .data(arrayOf(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6))
+            ))
+    }
+
+    fun configurePolarAreaChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Area)
+            .polar(true)
+            .dataLabelsEnabled(false)
+            .categories(arrayOf(
+                "January",
+                "February",
+                "March",
+                "April",
+                "May",
+                "June",
+                "July",
+                "August",
+                "September",
+                "October",
+                "November",
+                "December"))
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("2018")
+                    .colorByPoint(true)
                     .data(arrayOf(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6))
             ))
     }
@@ -65,7 +146,7 @@ object SpecialChartComposer {
             .backgroundColor("#ffffff")
             .title("LANGUAGE MARKET SHARES JANUARY,2020 TO MAY")
             .subtitle("virtual data")
-            .colorsTheme(arrayOf("#0c9674", "#7dffc0", "#d11b5f", "#facd32", "#ffffa0",))
+            .colorsTheme(arrayOf("#0c9674", "#7dffc0", "#d11b5f", "#facd32", "#ffffa0"))
             .dataLabelsEnabled(true)//是否直接显示扇形图数据
             .yAxisTitle("℃")
             .series(arrayOf(
@@ -911,6 +992,43 @@ object SpecialChartComposer {
                                 .pointFormat("(误差范围: {point.low}-{point.high} mm)<br/>"))))
     }
 
-
+    fun configureGaugeChart(): AAChartModel {
+        return AAChartModel()
+            .title("多边形图")
+            .dataLabelsEnabled(false)
+            .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
+            .markerRadius(8)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("目标")
+                    .type(AAChartType.Polygon)
+                    .data(arrayOf(
+                        arrayOf(153, 42),
+                        arrayOf(149, 46),
+                        arrayOf(149, 55),
+                        arrayOf(152, 60),
+                        arrayOf(159, 70),
+                        arrayOf(170, 77),
+                        arrayOf(180, 70),
+                        arrayOf(180, 60),
+                        arrayOf(173, 52),
+                        arrayOf(166, 45)))
+                    .lineWidth(6),
+                AASeriesElement()
+                    .name("实际完成")
+                    .type(AAChartType.Polygon)
+                    .data(arrayOf(
+                        arrayOf(153 * 1.6, 42 * 1.6),
+                        arrayOf(149 * 1.6, 46 * 1.6),
+                        arrayOf(149 * 1.6, 55 * 1.6),
+                        arrayOf(152 * 1.6, 60 * 1.6),
+                        arrayOf(159 * 1.6, 70 * 1.6),
+                        arrayOf(170 * 1.6, 77 * 1.6),
+                        arrayOf(180 * 1.6, 70 * 1.6),
+                        arrayOf(180 * 1.6, 60 * 1.6),
+                        arrayOf(173 * 1.6, 52 * 1.6),
+                        arrayOf(166 * 1.6, 45 * 1.6)))
+                    .lineWidth(6)))
+    }
 
 }