Bladeren bron

Add errorbar chart sample

An An 5 jaren geleden
bovenliggende
commit
9d8fe067bc

+ 27 - 17
app/src/main/java/com/aachartmodel/aainfographics/ChartsDemo/BasicContent/MainActivity.kt

@@ -69,6 +69,7 @@ class MainActivity : AppCompatActivity() {
         "Waterfall Chart--- 瀑布图",
         "Pyramid Chart---金字塔图",
         "Funnel Chart---漏斗图",
+        "Errorbar Chart---误差图",
         /*Mixed Chart---混合图*/
         "/*Mixed Chart---混合图*/arearangeMixedLine-----------------",
         "columnrangeMixedLine",
@@ -161,7 +162,7 @@ class MainActivity : AppCompatActivity() {
         AAChartType.Waterfall.value,
         AAChartType.Pyramid.value,
         AAChartType.Funnel.value,
-
+        AAChartType.Errorbar.value,
         /*Mixed Chart---混合图*/
         "arearangeMixedLine",
         "columnrangeMixedLine",
@@ -248,22 +249,31 @@ class MainActivity : AppCompatActivity() {
         listView.onItemClickListener =
             OnItemClickListener { adapter, view, position, id ->
                 println(position)
-                if (position <= 7) { /*基础类型图表*/
-                    goToCommonChartActivity(position)
-                } else if (position <= 19) { /*特殊类型图表*/
-                    goToSpecialChartActivity(position)
-                } else if (position <= 28) { /*Mixed Chart---混合图*/
-                    goToMixedChartActivity(position)
-                } else if (position <= 46) { /*自定义样式图表*/
-                    goToCustomStyleChartActivity(position)
-                } else if (position <= 62) { /*使用AAOptions绘制图表*/
-                    goToDrawChartWithAAOptionsActivity(position)
-                } else if (position <= 69) { /*隐藏或显示内容*/
-                    goToHideOrShowChartSeriesActivity(position)
-                } else if (position <= 80) { /*formatter js function*/
-                    goToCustomTooltipWithJSFunctionActivity(position)
-                } else { /*eval JS Function*/
-                    goToEvaluateJSStringFunctionActivity(position)
+                when {
+                    position <= 7 -> { /*基础类型图表*/
+                        goToCommonChartActivity(position)
+                    }
+                    position <= 20 -> { /*特殊类型图表*/
+                        goToSpecialChartActivity(position)
+                    }
+                    position <= 29 -> { /*Mixed Chart---混合图*/
+                        goToMixedChartActivity(position)
+                    }
+                    position <= 47 -> { /*自定义样式图表*/
+                        goToCustomStyleChartActivity(position)
+                    }
+                    position <= 63 -> { /*使用AAOptions绘制图表*/
+                        goToDrawChartWithAAOptionsActivity(position)
+                    }
+                    position <= 70 -> { /*隐藏或显示内容*/
+                        goToHideOrShowChartSeriesActivity(position)
+                    }
+                    position <= 81 -> { /*formatter js function*/
+                        goToCustomTooltipWithJSFunctionActivity(position)
+                    }
+                    else -> { /*eval JS Function*/
+                        goToEvaluateJSStringFunctionActivity(position)
+                    }
                 }
             }
     }

+ 1 - 0
app/src/main/java/com/aachartmodel/aainfographics/ChartsDemo/BasicContent/SpecialChartActivity.kt

@@ -66,6 +66,7 @@ class SpecialChartActivity : AppCompatActivity() {
             AAChartType.Waterfall.value  -> return SpecialChartComposer.configureWaterfallChart()
             AAChartType.Pyramid.value  -> return SpecialChartComposer.configurePyramidChart()
             AAChartType.Funnel.value  -> return SpecialChartComposer.configureFunnelChart()
+            AAChartType.Errorbar.value -> return  SpecialChartComposer.configureErrobarChart()
             else  -> {
             }
         }

+ 46 - 1
app/src/main/java/com/aachartmodel/aainfographics/ChartsDemo/ChartComposer/SpecialChartComposer.kt

@@ -27,9 +27,10 @@
  */
 package com.aachartmodel.aainfographics.ChartsDemo.ChartComposer
 
+import com.aachartmodel.aainfographics.AAInfographicsLib.AAOptionsModel.AATooltip
 import com.aachartmodel.aainfographics.AAInfographicsLib.AAOptionsModel.AAWaterfall
 import com.example.chartcorekotlin.AAChartConfiger.*
-import java.util.HashMap
+import java.util.*
 
 object SpecialChartComposer{
 
@@ -929,4 +930,48 @@ object SpecialChartComposer{
             )
     }
 
+    fun configureErrobarChart(): AAChartModel? {
+        return AAChartModel()
+            .yAxisTitle("")
+            .categories(arrayOf(
+                    "一月", "二月", "三月", "四月", "五月", "六月",
+                    "七月", "八月", "九月", "十月", "十一月", "十二月"
+                ))
+            .series(arrayOf(
+                    AASeriesElement()
+                        .name("降水")
+                        .type(AAChartType.Column)
+                        .color("#06caf4")
+                        .data(arrayOf(49.9, 71.5, 106.4, 129.2, 144.0, 176.0,
+                            135.6, 148.5, 216.4, 194.1, 95.6, 54.4
+                            ))
+                    ,
+                    AASeriesElement()
+                        .name("降雨误差")
+                        .type(AAChartType.Errorbar)
+                        .lineWidth(2.5f)
+                        .color(AAColor.redColor())
+                        .data(arrayOf(
+                                arrayOf(48,   51),
+                                arrayOf(68,   73),
+                                arrayOf(92,  110),
+                                arrayOf(128, 136),
+                                arrayOf(140, 150),
+                                arrayOf(171, 179),
+                                arrayOf(135, 143),
+                                arrayOf(142, 149),
+                                arrayOf(204, 220),
+                                arrayOf(189, 199),
+                                arrayOf(95,  110),
+                                arrayOf(52,   56)
+                            )
+                        )
+                        .tooltip(AATooltip()
+                                .pointFormat("(误差范围: {point.low}-{point.high} mm)<br/>"))
+                )
+            )
+    }
+
+
+
 }