ソースを参照

Remove redundant companion object

An An 3 年 前
コミット
97e194ca9d

+ 18 - 18
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/additionalcontent/DrawChartWithAAOptionsActivity.kt

@@ -33,24 +33,24 @@ import androidx.appcompat.app.AppCompatActivity
 import com.github.aachartmodel.aainfographics.aachartcreator.AAChartView
 import com.github.aachartmodel.aainfographics.aachartcreator.AAOptions
 import com.github.aachartmodel.aainfographics.demo.R
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configureAAPlotBandsForChart
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configureAAPlotLinesForChart
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configureDoubleYAxesAndColumnLineMixedChart
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configureDoubleYAxesMarketDepthChart
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configureDoubleYAxisChartOptions
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configureTheMirrorColumnChart
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configureTripleYAxesMixedChart
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configureXAxisLabelsFontColorAndFontSizeWithHTMLString
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configureXAxisLabelsFontColorWithHTMLString
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configureXAxisPlotBand
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.configure_DataLabels_XAXis_YAxis_Legend_Style
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.customAATooltipWithJSFunction
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.customAreaChartTooltipStyleLikeHTMLTable
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.customChartLegendStyle
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.customLineChartDataLabelsFormat
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.customXAxisCrosshairStyle
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.gaugeChartWithPlotBand
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.Companion.simpleGaugeChart
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configureAAPlotBandsForChart
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configureAAPlotLinesForChart
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configureDoubleYAxesAndColumnLineMixedChart
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configureDoubleYAxesMarketDepthChart
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configureDoubleYAxisChartOptions
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configureTheMirrorColumnChart
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configureTripleYAxesMixedChart
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configureXAxisLabelsFontColorAndFontSizeWithHTMLString
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configureXAxisLabelsFontColorWithHTMLString
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configureXAxisPlotBand
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.configure_DataLabels_XAXis_YAxis_Legend_Style
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.customAATooltipWithJSFunction
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.customAreaChartTooltipStyleLikeHTMLTable
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.customChartLegendStyle
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.customLineChartDataLabelsFormat
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.customXAxisCrosshairStyle
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.gaugeChartWithPlotBand
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.ChartOptionsComposer.simpleGaugeChart
 
 class DrawChartWithAAOptionsActivity : AppCompatActivity() {
 

+ 12 - 12
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/additionalcontent/JSFormatterFunctionActivity.kt

@@ -33,18 +33,18 @@ import androidx.appcompat.app.AppCompatActivity
 import com.github.aachartmodel.aainfographics.aachartcreator.AAChartView
 import com.github.aachartmodel.aainfographics.aachartcreator.AAOptions
 import com.github.aachartmodel.aainfographics.demo.R
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customAreaChartTooltipStyleWithColorfulHtmlLabels
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customAreaChartTooltipStyleWithDifferentUnitSuffix
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customAreaChartTooltipStyleWithSimpleFormatString
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customArearangeChartTooltip
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customBoxplotTooltipContent
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customDoubleXAxesChart
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customLineChartOriginalPointPositionByConfiguringXAxisFormatterAndTooltipFormatter
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customLineChartTooltipStyleWhenValueBeZeroDoNotShow
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customStackedAndGroupedColumnChartTooltip
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customTooltipWhichDataSourceComeFromOutSideRatherThanSeries
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customYAxisLabels
-import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.Companion.customYAxisLabels2
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customAreaChartTooltipStyleWithColorfulHtmlLabels
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customAreaChartTooltipStyleWithDifferentUnitSuffix
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customAreaChartTooltipStyleWithSimpleFormatString
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customArearangeChartTooltip
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customBoxplotTooltipContent
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customDoubleXAxesChart
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customLineChartOriginalPointPositionByConfiguringXAxisFormatterAndTooltipFormatter
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customLineChartTooltipStyleWhenValueBeZeroDoNotShow
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customStackedAndGroupedColumnChartTooltip
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customTooltipWhichDataSourceComeFromOutSideRatherThanSeries
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customYAxisLabels
+import com.github.aachartmodel.aainfographics.demo.chartcomposer.CustomTooltipComposer.customYAxisLabels2
 
 class JSFormatterFunctionActivity : AppCompatActivity() {
 

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

@@ -39,84 +39,83 @@ import com.github.aachartmodel.aainfographics.aachartcreator.*
 import com.github.aachartmodel.aainfographics.aaoptionsmodel.*
 import com.github.aachartmodel.aainfographics.aatools.*
 
-class ChartOptionsComposer {
-    companion object {
-
-        fun customChartLegendStyle(): AAOptions {
-            val element1 = AASeriesElement()
-                .name("Predefined symbol")
-                .data(arrayOf(0.45, 0.43, 0.50, 0.55, 0.58, 0.62, 0.83, 0.39, 0.56, 0.67, 0.50, 0.34, 0.50, 0.67, 0.58, 0.29, 0.46, 0.23, 0.47, 0.46, 0.38, 0.56, 0.48, 0.36))
-
-            val element2 = AASeriesElement()
-                .name("Image symbol")
-                .data(arrayOf(0.38, 0.31, 0.32, 0.32, 0.64, 0.66, 0.86, 0.47, 0.52, 0.75, 0.52, 0.56, 0.54, 0.60, 0.46, 0.63, 0.54, 0.51, 0.58, 0.64, 0.60, 0.45, 0.36, 0.67))
-
-            val element3 = AASeriesElement()
-                .name("Base64 symbol (*)")
-                .data(arrayOf(0.46, 0.32, 0.53, 0.58, 0.86, 0.68, 0.85, 0.73, 0.69, 0.71, 0.91, 0.74, 0.60, 0.50, 0.39, 0.67, 0.55, 0.49, 0.65, 0.45, 0.64, 0.47, 0.63, 0.64))
-
-            val element4 = AASeriesElement()
-                .name("Custom symbol")
-                .data(arrayOf(0.60, 0.51, 0.52, 0.53, 0.64, 0.84, 0.65, 0.68, 0.63, 0.47, 0.72, 0.60, 0.65, 0.74, 0.66, 0.65, 0.71, 0.59, 0.65, 0.77, 0.52, 0.53, 0.58, 0.53))
-
-            val aaChartModel = AAChartModel()
-                .chartType(AAChartType.Areaspline)
-                .title("CUSTOM LEGEND STYLE")
-                .subtitle("LEGEND ON THE TOP_RIGHT SIDE WITH VERTICAL STYLE")
-                .subtitleAlign(AAChartAlignType.Left)
-                .markerRadius(0f)
-                .backgroundColor(AAColor.White)
-                .dataLabelsEnabled(false)
-                .yAxisGridLineWidth(0f)
-                .yAxisTitle("percent values")
-                .stacking(AAChartStackingType.Normal)
-                .colorsTheme(arrayOf("mediumspringgreen", "deepskyblue", "red", "sandybrown"))
-                .series(arrayOf(element1, element2, element3, element4))
-
-            val aaOptions = aaChartModel.aa_toAAOptions()
-
-            aaOptions.yAxis?.labels?.format = "{value} %"//给y轴添加单位
-
-            aaOptions.xAxis!!
-                    .gridLineColor(AAColor.DarkGray)
-                    .gridLineWidth(1f)
-                    .minorGridLineColor(AAColor.LightGray)
-                    .minorGridLineWidth(0.5f)
-                    .minorTickInterval("auto")
-
-            aaOptions.yAxis!!
-                    .gridLineColor(AAColor.DarkGray)
-                    .gridLineWidth(1f)
-                    .minorGridLineColor(AAColor.LightGray)
-                    .minorGridLineWidth(0.5f)
-                    .minorTickInterval("auto")
-
-            aaOptions.legend!!
-                .enabled(true)
-                .verticalAlign(AAChartVerticalAlignType.Top)
-                .layout(AAChartLayoutType.Vertical)
-                .align(AAChartAlignType.Right)
+object ChartOptionsComposer {
 
-            aaOptions.defaultOptions = AALang()
-                .resetZoom("重置缩放比例")
-                .thousandsSep(",")
+    fun customChartLegendStyle(): AAOptions {
+        val element1 = AASeriesElement()
+            .name("Predefined symbol")
+            .data(arrayOf(0.45, 0.43, 0.50, 0.55, 0.58, 0.62, 0.83, 0.39, 0.56, 0.67, 0.50, 0.34, 0.50, 0.67, 0.58, 0.29, 0.46, 0.23, 0.47, 0.46, 0.38, 0.56, 0.48, 0.36))
 
-            return aaOptions
-        }
+        val element2 = AASeriesElement()
+            .name("Image symbol")
+            .data(arrayOf(0.38, 0.31, 0.32, 0.32, 0.64, 0.66, 0.86, 0.47, 0.52, 0.75, 0.52, 0.56, 0.54, 0.60, 0.46, 0.63, 0.54, 0.51, 0.58, 0.64, 0.60, 0.45, 0.36, 0.67))
+
+        val element3 = AASeriesElement()
+            .name("Base64 symbol (*)")
+            .data(arrayOf(0.46, 0.32, 0.53, 0.58, 0.86, 0.68, 0.85, 0.73, 0.69, 0.71, 0.91, 0.74, 0.60, 0.50, 0.39, 0.67, 0.55, 0.49, 0.65, 0.45, 0.64, 0.47, 0.63, 0.64))
 
+        val element4 = AASeriesElement()
+            .name("Custom symbol")
+            .data(arrayOf(0.60, 0.51, 0.52, 0.53, 0.64, 0.84, 0.65, 0.68, 0.63, 0.47, 0.72, 0.60, 0.65, 0.74, 0.66, 0.65, 0.71, 0.59, 0.65, 0.77, 0.52, 0.53, 0.58, 0.53))
 
-        fun configureAAPlotBandsForChart(): AAOptions {
+        val aaChartModel = AAChartModel()
+            .chartType(AAChartType.Areaspline)
+            .title("CUSTOM LEGEND STYLE")
+            .subtitle("LEGEND ON THE TOP_RIGHT SIDE WITH VERTICAL STYLE")
+            .subtitleAlign(AAChartAlignType.Left)
+            .markerRadius(0f)
+            .backgroundColor(AAColor.White)
+            .dataLabelsEnabled(false)
+            .yAxisGridLineWidth(0f)
+            .yAxisTitle("percent values")
+            .stacking(AAChartStackingType.Normal)
+            .colorsTheme(arrayOf("mediumspringgreen", "deepskyblue", "red", "sandybrown"))
+            .series(arrayOf(element1, element2, element3, element4))
+
+        val aaOptions = aaChartModel.aa_toAAOptions()
+
+        aaOptions.yAxis?.labels?.format = "{value} %"//给y轴添加单位
+
+        aaOptions.xAxis!!
+            .gridLineColor(AAColor.DarkGray)
+            .gridLineWidth(1f)
+            .minorGridLineColor(AAColor.LightGray)
+            .minorGridLineWidth(0.5f)
+            .minorTickInterval("auto")
+
+        aaOptions.yAxis!!
+            .gridLineColor(AAColor.DarkGray)
+            .gridLineWidth(1f)
+            .minorGridLineColor(AAColor.LightGray)
+            .minorGridLineWidth(0.5f)
+            .minorTickInterval("auto")
+
+        aaOptions.legend!!
+            .enabled(true)
+            .verticalAlign(AAChartVerticalAlignType.Top)
+            .layout(AAChartLayoutType.Vertical)
+            .align(AAChartAlignType.Right)
+
+        aaOptions.defaultOptions = AALang()
+            .resetZoom("重置缩放比例")
+            .thousandsSep(",")
+
+        return aaOptions
+    }
+
+
+    fun configureAAPlotBandsForChart(): AAOptions {
         val aaChartModel = AAChartModel()
             .chartType(AAChartType.Spline)//图形类型
             .dataLabelsEnabled(false)
             .markerRadius(0f)
             .series(arrayOf(
-                    AASeriesElement()
-                        .name("Tokyo")
-                        .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-                        .color(AAColor.White)
-                        .lineWidth(10.0f)
-                ))
+                AASeriesElement()
+                    .name("Tokyo")
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+                    .color(AAColor.White)
+                    .lineWidth(10.0f)
+            ))
 
         val aaOptions = aaChartModel.aa_toAAOptions()
         val aaPlotBandsElementArr = arrayOf(
@@ -146,11 +145,11 @@ class ChartOptionsComposer {
                 .color("#acf08f")
         )
 
-         aaOptions.yAxis?.plotBands(aaPlotBandsElementArr)
+        aaOptions.yAxis?.plotBands(aaPlotBandsElementArr)
         return aaOptions
     }
 
-     fun configureAAPlotLinesForChart(): AAOptions {
+    fun configureAAPlotLinesForChart(): AAOptions {
         val zonesArr:Array<Any> = arrayOf(
             mapOf(
                 "value" to 12,
@@ -167,19 +166,19 @@ class ChartOptionsComposer {
             mapOf(
                 "color" to "#ffd066"
             )
-            )
+        )
 
         val aaChartModel = AAChartModel()
             .chartType(AAChartType.Areaspline)//图形类型
             .dataLabelsEnabled(false)
             .series(arrayOf(
-                    AASeriesElement()
-                        .name("Tokyo")
-                        .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-                        .fillOpacity(0.5f)
-                        .lineWidth(10f)
-                        .zones(zonesArr)
-                ))
+                AASeriesElement()
+                    .name("Tokyo")
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+                    .fillOpacity(0.5f)
+                    .lineWidth(10f)
+                    .zones(zonesArr)
+            ))
 
         val aaOptions = aaChartModel.aa_toAAOptions()
         val aaPlotLinesElementsArr = arrayOf(
@@ -190,10 +189,10 @@ class ChartOptionsComposer {
                 .value(12f) //所在位置
                 .zIndex(1) //层叠,标示线在图表中显示的层叠级别,值越大,显示越向前
                 .label(AALabel()
-                        .text("PLOT LINES ONE")
-                        .style(AAStyle()
-                                .color("#1e90ff")
-                                .fontWeight(AAChartFontWeightType.Bold))),
+                    .text("PLOT LINES ONE")
+                    .style(AAStyle()
+                        .color("#1e90ff")
+                        .fontWeight(AAChartFontWeightType.Bold))),
             AAPlotLinesElement()
                 .color("#ef476f")//颜色值(16进制)
                 .dashStyle(AAChartLineDashStyleType.LongDashDot)//样式:Dash,Dot,Solid等,默认Solid
@@ -201,10 +200,10 @@ class ChartOptionsComposer {
                 .value(24f) //所在位置
                 .zIndex(1) //层叠,标示线在图表中显示的层叠级别,值越大,显示越向前
                 .label(AALabel()
-                        .text("PLOT LINES TWO")
-                        .style(AAStyle()
-                                .color("#ef476f")
-                                .fontWeight(AAChartFontWeightType.Bold))),
+                    .text("PLOT LINES TWO")
+                    .style(AAStyle()
+                        .color("#ef476f")
+                        .fontWeight(AAChartFontWeightType.Bold))),
             AAPlotLinesElement()
                 .color("#1e90ff")//颜色值(16进制)
                 .dashStyle(AAChartLineDashStyleType.LongDash)//样式:Dash,Dot,Solid等,默认Solid
@@ -212,17 +211,17 @@ class ChartOptionsComposer {
                 .value(36f) //所在位置
                 .zIndex(1) //层叠,标示线在图表中显示的层叠级别,值越大,显示越向前
                 .label(AALabel()
-                        .text("PLOT LINES THREE")
-                        .style(AAStyle()
-                                .color("#04d69f")
-                                .fontWeight(AAChartFontWeightType.Bold)))
+                    .text("PLOT LINES THREE")
+                    .style(AAStyle()
+                        .color("#04d69f")
+                        .fontWeight(AAChartFontWeightType.Bold)))
         )
-         aaOptions.yAxis?.plotLines(aaPlotLinesElementsArr)
+        aaOptions.yAxis?.plotLines(aaPlotLinesElementsArr)
 
-         return aaOptions
+        return aaOptions
     }
 
-     fun customAATooltipWithJSFunction(): AAOptions {
+    fun customAATooltipWithJSFunction(): AAOptions {
         val aaChartModel = AAChartModel()
             .chartType(AAChartType.Area)//图形类型
             .title("近三个月金价起伏周期图")//图表主标题
@@ -241,18 +240,18 @@ class ChartOptionsComposer {
                 "12-20", "12-21", "12-22", "12-23", "12-024", "12-25", "12-26", "12-27", "12-28", "12-29", "12-30"))
             .series(arrayOf(
                 AASeriesElement()
-                .name("2020")
-                .lineWidth(3f)
-                .color("#FFD700"/*纯金色*/)
-                .fillOpacity(0.5f)
-                .data(arrayOf(
-                    1.51, 6.7, 0.94, 1.44, 1.6, 1.63, 1.56, 1.91, 2.45, 3.87, 3.24, 4.90, 4.61, 4.10, 4.17, 3.85,
-                    4.17, 3.46, 3.46, 3.55, 3.50, 4.13, 2.58, 2.28, 1.51, 12.7, 0.94, 1.44, 18.6, 1.63, 1.56, 1.91,
-                    2.45, 3.87, 3.24, 4.90, 4.61, 4.10, 4.17, 3.85, 4.17, 3.46, 3.46, 3.55, 3.50, 4.13, 2.58, 2.28,
-                    1.33, 4.68, 1.31, 1.10, 13.9, 1.10, 1.16, 1.67, 2.64, 2.86, 3.00, 3.21, 4.14, 4.07, 3.68, 3.11,
-                    3.41, 3.25, 3.32, 3.07, 3.92, 3.05, 2.18, 3.24, 3.23, 3.15, 2.90, 1.81, 2.11, 2.43, 5.59, 3.09,
-                    4.09, 6.14, 5.33, 6.05, 5.71, 6.22, 6.56, 4.75, 5.27, 6.02, 5.48)
-                )))
+                    .name("2020")
+                    .lineWidth(3f)
+                    .color("#FFD700"/*纯金色*/)
+                    .fillOpacity(0.5f)
+                    .data(arrayOf(
+                        1.51, 6.7, 0.94, 1.44, 1.6, 1.63, 1.56, 1.91, 2.45, 3.87, 3.24, 4.90, 4.61, 4.10, 4.17, 3.85,
+                        4.17, 3.46, 3.46, 3.55, 3.50, 4.13, 2.58, 2.28, 1.51, 12.7, 0.94, 1.44, 18.6, 1.63, 1.56, 1.91,
+                        2.45, 3.87, 3.24, 4.90, 4.61, 4.10, 4.17, 3.85, 4.17, 3.46, 3.46, 3.55, 3.50, 4.13, 2.58, 2.28,
+                        1.33, 4.68, 1.31, 1.10, 13.9, 1.10, 1.16, 1.67, 2.64, 2.86, 3.00, 3.21, 4.14, 4.07, 3.68, 3.11,
+                        3.41, 3.25, 3.32, 3.07, 3.92, 3.05, 2.18, 3.24, 3.23, 3.15, 2.90, 1.81, 2.11, 2.43, 5.59, 3.09,
+                        4.09, 6.14, 5.33, 6.05, 5.71, 6.22, 6.56, 4.75, 5.27, 6.02, 5.48)
+                    )))
 
         val aaTooltip = AATooltip()
             .useHTML(true)
@@ -278,7 +277,7 @@ function () {
         return aaOptions
     }
 
-     fun customXAxisCrosshairStyle(): AAOptions {
+    fun customXAxisCrosshairStyle(): AAOptions {
         val aaChartModel = AAChartModel()
             .chartType(AAChartType.Line)//图表类型
             .series(arrayOf(
@@ -324,869 +323,868 @@ function () {
             .color(AAColor.Red)
             .width(1f)
             .dashStyle(AAChartLineDashStyleType.LongDashDotDot)
-         aaOptions.xAxis?.crosshair(aaCrosshair)
+        aaOptions.xAxis?.crosshair(aaCrosshair)
         return aaOptions
     }
 
-         fun configureXAxisLabelsFontColorWithHTMLString(): AAOptions {
-            val categories = arrayOf(
-                "<font color=\\\"#CC0066\\\">孤岛危机<\\/font>",
-                "<font color=\\\"#CC0033\\\">使命召唤<\\/font>",
-                "<font color=\\\"#FF0066\\\">荣誉勋章<\\/font>",
-                "<font color=\\\"##66FF99\\\">狙击精英<\\/font>",
-                "<font color=\\\"#00FF00\\\">神秘海域<\\/font>",
-                "<font color=\\\"#00CC00\\\">美国末日<\\/font>",
-                "<font color=\\\"#666FF\\\">巫师狂猎<\\/font>",
-                "<font color=\\\"#000CC\\\">死亡搁浅<\\/font>",
-                "<font color=\\\"#9933CC\\\">地狱边境<\\/font>",
-                "<font color=\\\"##FFCC99\\\">忍者之印<\\/font>",
-                "<font color=\\\"#FFCC00\\\">合金装备<\\/font>",
-                "<font color=\\\"#CC99090\\\">全战三国<\\/font>"
-            )
+    fun configureXAxisLabelsFontColorWithHTMLString(): AAOptions {
+        val categories = arrayOf(
+            "<font color=\\\"#CC0066\\\">孤岛危机<\\/font>",
+            "<font color=\\\"#CC0033\\\">使命召唤<\\/font>",
+            "<font color=\\\"#FF0066\\\">荣誉勋章<\\/font>",
+            "<font color=\\\"##66FF99\\\">狙击精英<\\/font>",
+            "<font color=\\\"#00FF00\\\">神秘海域<\\/font>",
+            "<font color=\\\"#00CC00\\\">美国末日<\\/font>",
+            "<font color=\\\"#666FF\\\">巫师狂猎<\\/font>",
+            "<font color=\\\"#000CC\\\">死亡搁浅<\\/font>",
+            "<font color=\\\"#9933CC\\\">地狱边境<\\/font>",
+            "<font color=\\\"##FFCC99\\\">忍者之印<\\/font>",
+            "<font color=\\\"#FFCC00\\\">合金装备<\\/font>",
+            "<font color=\\\"#CC99090\\\">全战三国<\\/font>"
+        )
 
-            val aaChartModel = AAChartModel()
-                .chartType(AAChartType.Areaspline)
-                .title("")
-                .subtitle("")
-                .stacking(AAChartStackingType.Normal)
-                .categories(categories)
-                .dataLabelsEnabled(false)
-                .markerRadius(0f)
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("Berlin Hot")
-                        .color(AAGradientColor.MysticMauve)
-                        .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-                ))
+        val aaChartModel = AAChartModel()
+            .chartType(AAChartType.Areaspline)
+            .title("")
+            .subtitle("")
+            .stacking(AAChartStackingType.Normal)
+            .categories(categories)
+            .dataLabelsEnabled(false)
+            .markerRadius(0f)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Berlin Hot")
+                    .color(AAGradientColor.MysticMauve)
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+            ))
 
-            val aaOptions = aaChartModel.aa_toAAOptions()
-            aaOptions.xAxis?.labels?.useHTML(true)
-            return aaOptions
-        }
+        val aaOptions = aaChartModel.aa_toAAOptions()
+        aaOptions.xAxis?.labels?.useHTML(true)
+        return aaOptions
+    }
 
-         fun configureXAxisLabelsFontColorAndFontSizeWithHTMLString(): AAOptions {
-            val categories = arrayOf(
-                "<span style=\\\"color:#CC0066;font-weight:bold;font-size:10px\\\">使命召唤</span>",
-                "<span style=\\\"color:#CC0033;font-weight:bold;font-size:11px\\\">荣誉勋章</span>",
-                "<span style=\\\"color:#FF0066;font-weight:bold;font-size:12px\\\">狙击精英</span>",
-                "<span style=\\\"color:#66FF99;font-weight:bold;font-size:13px\\\">神秘海域</span>",
-                "<span style=\\\"color:#00FF00;font-weight:bold;font-size:14px\\\">美国末日</span>",
-                "<span style=\\\"color:#00CC00;font-weight:bold;font-size:15px\\\">巫师狂猎</span>",
-                "<span style=\\\"color:#666FF;font-weight:bold;font-size:15px\\\">孤岛危机</span>",
-                "<span style=\\\"color:#000CC;font-weight:bold;font-size:14px\\\">地狱边境</span>",
-                "<span style=\\\"color:#9933CC;font-weight:bold;font-size:13px\\\">忍者之印</span>",
-                "<span style=\\\"color:#FFCC99;font-weight:bold;font-size:12px\\\">合金装备</span>",
-                "<span style=\\\"color:#FFCC00;font-weight:bold;font-size:11px\\\">全战三国</span>",
-                "<span style=\\\"color:#CC99090;font-weight:bold;font-size:10px\\\">死亡搁浅</span>"
-            )
+    fun configureXAxisLabelsFontColorAndFontSizeWithHTMLString(): AAOptions {
+        val categories = arrayOf(
+            "<span style=\\\"color:#CC0066;font-weight:bold;font-size:10px\\\">使命召唤</span>",
+            "<span style=\\\"color:#CC0033;font-weight:bold;font-size:11px\\\">荣誉勋章</span>",
+            "<span style=\\\"color:#FF0066;font-weight:bold;font-size:12px\\\">狙击精英</span>",
+            "<span style=\\\"color:#66FF99;font-weight:bold;font-size:13px\\\">神秘海域</span>",
+            "<span style=\\\"color:#00FF00;font-weight:bold;font-size:14px\\\">美国末日</span>",
+            "<span style=\\\"color:#00CC00;font-weight:bold;font-size:15px\\\">巫师狂猎</span>",
+            "<span style=\\\"color:#666FF;font-weight:bold;font-size:15px\\\">孤岛危机</span>",
+            "<span style=\\\"color:#000CC;font-weight:bold;font-size:14px\\\">地狱边境</span>",
+            "<span style=\\\"color:#9933CC;font-weight:bold;font-size:13px\\\">忍者之印</span>",
+            "<span style=\\\"color:#FFCC99;font-weight:bold;font-size:12px\\\">合金装备</span>",
+            "<span style=\\\"color:#FFCC00;font-weight:bold;font-size:11px\\\">全战三国</span>",
+            "<span style=\\\"color:#CC99090;font-weight:bold;font-size:10px\\\">死亡搁浅</span>"
+        )
 
-             val aaChartModel = AAChartModel()
-                 .chartType(AAChartType.Areaspline)
-                 .title("")
-                 .subtitle("")
-                 .stacking(AAChartStackingType.Normal)
-                 .categories(categories)
-                 .dataLabelsEnabled(false)
-                 .markerRadius(0f)
-                 .series(arrayOf(
-                     AASeriesElement()
-                         .name("Berlin Hot")
-                         .color(AAGradientColor.DeepSea)
-                         .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-                 ))
-
-            val aaOptions = aaChartModel.aa_toAAOptions()
-            aaOptions.xAxis?.labels?.useHTML(true)
-
-            return aaOptions
-        }
+        val aaChartModel = AAChartModel()
+            .chartType(AAChartType.Areaspline)
+            .title("")
+            .subtitle("")
+            .stacking(AAChartStackingType.Normal)
+            .categories(categories)
+            .dataLabelsEnabled(false)
+            .markerRadius(0f)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Berlin Hot")
+                    .color(AAGradientColor.DeepSea)
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+            ))
 
-         fun configure_DataLabels_XAXis_YAxis_Legend_Style(): AAOptions {
-            val backgroundColorGradientColor = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToBottom,
-                "#4F00BC",
-                "#29ABE2"//颜色字符串设置支持十六进制类型和 rgba 类型
-            )
+        val aaOptions = aaChartModel.aa_toAAOptions()
+        aaOptions.xAxis?.labels?.useHTML(true)
 
-            val fillColorGradientColor = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToBottom,
-                "rgba(256,256,256,0.3)",
-                "rgba(256,256,256,1.0)"//颜色字符串设置支持十六进制类型和 rgba 类型
-            )
+        return aaOptions
+    }
 
+    fun configure_DataLabels_XAXis_YAxis_Legend_Style(): AAOptions {
+        val backgroundColorGradientColor = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToBottom,
+            "#4F00BC",
+            "#29ABE2"//颜色字符串设置支持十六进制类型和 rgba 类型
+        )
 
-            val aaChartModel = AAChartModel()
-                .chartType(AAChartType.Areaspline)
-                .title("")
-                .subtitle("")
-                .backgroundColor(backgroundColorGradientColor)
-                .yAxisVisible(true)
-                .yAxisTitle("")
-                .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月",
-                        "七月", "八月", "九月", "十月", "十一月", "十二月"))
-                .markerRadius(0f)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("Berlin Hot")
-                            .color(AAColor.White)
-                            .lineWidth(7f)
-                            .fillColor(fillColorGradientColor)
-                            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-                    ))
-            val aaOptions = aaChartModel.aa_toAAOptions()
-            aaOptions.plotOptions?.areaspline
-                ?.dataLabels(AADataLabels()
-                             .enabled(true)
-                             .style(AAStyle()
-                                    .color(AAColor.Black)
-                                    .fontSize(14f)
-                                    .fontWeight(AAChartFontWeightType.Thin)))
-
-            val aaCrosshair = AACrosshair()
-                .dashStyle(AAChartLineDashStyleType.LongDashDot)
-                .color(AAColor.White)
-                .width(1f)
-
-            val aaLabels = AALabels()
-                .useHTML(true)
-                .style(AAStyle()
-                        .fontSize(10f)
-                        .fontWeight(AAChartFontWeightType.Bold)
-                        .color(AAColor.White))//轴文字颜色
-
-            aaOptions.yAxis!!
-                .opposite(true)
-                .tickWidth(2f)
-                .lineWidth(1.5f)//Y轴轴线颜色
-                .lineColor(AAColor.White)//Y轴轴线颜色
-                .gridLineWidth(0f)//Y轴网格线宽度
-                .crosshair(aaCrosshair)
-                .labels(aaLabels)
-
-            aaOptions.xAxis!!
-                .tickWidth(2f)//X轴刻度线宽度
-                .lineWidth(1.5f)//X轴轴线宽度
-                .lineColor(AAColor.White)//X轴轴线颜色
-                .crosshair(aaCrosshair)
-                .labels(aaLabels)
-
-
-            //设定图例项的CSS样式。只支持有关文本的CSS样式设定。
-            /*默认是:{
-         "color": "#333333",
-         "cursor": "pointer",
-         "fontSize": "12px",
-         "fontWeight": "bold"
-         }
-         */
-
-            aaOptions.legend!!
-                .itemStyle(AAItemStyle()
-                        .color(AAColor.White)//字体颜色
-                        .fontSize(13f)//字体大小
-                        .fontWeight("thin")//字体为细体字
-                )
-
-            return aaOptions
-        }
-         fun configureXAxisPlotBand(): AAOptions {
-            val aaChartModel = AAChartModel()
-                .chartType(AAChartType.Areaspline)
-                .title("")
-                .subtitle("")
-                .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月",
-                    "七月", "八月", "九月", "十月", "十一月", "十二月"))
-                .yAxisTitle("")
-                .yAxisGridLineWidth(0f)
-                .markerRadius(8f)
-                .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("New York Hot")
-                            .lineWidth(5.0f)
-                            .color("rgba(220,20,60,1)")////猩红色, alpha 透明度 1
-                            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6)),
-                        AASeriesElement()
-                            .type(AAChartType.Column)
-                            .name("Berlin Hot")
-                            .color("#25547c")
-                            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-                        ))
-
-
-            val aaOptions = aaChartModel.aa_toAAOptions()
-            val aaPlotBandsElementArr = arrayOf(
-                AAPlotBandsElement()
-                    .from(-0.25f)//值域颜色带X轴起始值
-                    .to(4.75f)//值域颜色带X轴结束值
-                    .color("#06caf4")//值域颜色带填充色
-                ,
-                AAPlotBandsElement()
-                    .from(4.75f)
-                    .to(8.25f)
-                    .color("#ffd066")
-                ,
-                AAPlotBandsElement()
-                    .from(8.25f)
-                    .to(11.25f)
-                    .color("#04d69f")
-            )
+        val fillColorGradientColor = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToBottom,
+            "rgba(256,256,256,0.3)",
+            "rgba(256,256,256,1.0)"//颜色字符串设置支持十六进制类型和 rgba 类型
+        )
 
-            val aaXAxis = aaOptions.xAxis
-            aaXAxis?.plotBands(aaPlotBandsElementArr)
 
-            return aaOptions
-        }
+        val aaChartModel = AAChartModel()
+            .chartType(AAChartType.Areaspline)
+            .title("")
+            .subtitle("")
+            .backgroundColor(backgroundColorGradientColor)
+            .yAxisVisible(true)
+            .yAxisTitle("")
+            .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月",
+                "七月", "八月", "九月", "十月", "十一月", "十二月"))
+            .markerRadius(0f)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Berlin Hot")
+                    .color(AAColor.White)
+                    .lineWidth(7f)
+                    .fillColor(fillColorGradientColor)
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+            ))
+        val aaOptions = aaChartModel.aa_toAAOptions()
+        aaOptions.plotOptions?.areaspline
+            ?.dataLabels(AADataLabels()
+                .enabled(true)
+                .style(AAStyle()
+                    .color(AAColor.Black)
+                    .fontSize(14f)
+                    .fontWeight(AAChartFontWeightType.Thin)))
 
-         fun configureTheMirrorColumnChart(): AAOptions {
-            val gradientColorDic1 = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToTop,
-                "#7052f4",
-                "#00b0ff"//颜色字符串设置支持十六进制类型和 rgba 类型
-            )
+        val aaCrosshair = AACrosshair()
+            .dashStyle(AAChartLineDashStyleType.LongDashDot)
+            .color(AAColor.White)
+            .width(1f)
 
-            val gradientColorDic2 = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToTop,
-                "#EF71FF",
-                "#4740C8"//颜色字符串设置支持十六进制类型和 rgba 类型
+        val aaLabels = AALabels()
+            .useHTML(true)
+            .style(AAStyle()
+                .fontSize(10f)
+                .fontWeight(AAChartFontWeightType.Bold)
+                .color(AAColor.White))//轴文字颜色
+
+        aaOptions.yAxis!!
+            .opposite(true)
+            .tickWidth(2f)
+            .lineWidth(1.5f)//Y轴轴线颜色
+            .lineColor(AAColor.White)//Y轴轴线颜色
+            .gridLineWidth(0f)//Y轴网格线宽度
+            .crosshair(aaCrosshair)
+            .labels(aaLabels)
+
+        aaOptions.xAxis!!
+            .tickWidth(2f)//X轴刻度线宽度
+            .lineWidth(1.5f)//X轴轴线宽度
+            .lineColor(AAColor.White)//X轴轴线颜色
+            .crosshair(aaCrosshair)
+            .labels(aaLabels)
+
+
+        //设定图例项的CSS样式。只支持有关文本的CSS样式设定。
+        /*默认是:{
+     "color": "#333333",
+     "cursor": "pointer",
+     "fontSize": "12px",
+     "fontWeight": "bold"
+     }
+     */
+
+        aaOptions.legend!!
+            .itemStyle(AAItemStyle()
+                .color(AAColor.White)//字体颜色
+                .fontSize(13f)//字体大小
+                .fontWeight("thin")//字体为细体字
             )
 
-            val aaYAxis1 = AAYAxis()
-                .visible(true)
-                .labels(AALabels()
-                        .enabled(true)//设置 y 轴是否显示数字
-                        .style(AAStyle()
-                                .color("#ff0000")//yAxis Label font color
-                                .fontSize(15f)//yAxis Label font size
-                                .fontWeight(AAChartFontWeightType.Bold)//yAxis Label font weight
-                        ))
-                .gridLineWidth(0f)// Y 轴网格线宽度
-                .title(AATitle()
-                        .text("收入"))//Y 轴标题
+        return aaOptions
+    }
+    fun configureXAxisPlotBand(): AAOptions {
+        val aaChartModel = AAChartModel()
+            .chartType(AAChartType.Areaspline)
+            .title("")
+            .subtitle("")
+            .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月",
+                "七月", "八月", "九月", "十月", "十一月", "十二月"))
+            .yAxisTitle("")
+            .yAxisGridLineWidth(0f)
+            .markerRadius(8f)
+            .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("New York Hot")
+                    .lineWidth(5.0f)
+                    .color("rgba(220,20,60,1)")////猩红色, alpha 透明度 1
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6)),
+                AASeriesElement()
+                    .type(AAChartType.Column)
+                    .name("Berlin Hot")
+                    .color("#25547c")
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+            ))
 
-            val aaYAxis2 = AAYAxis()
-                .visible(true)
-                .opposite(true)
-                .title(AATitle()
-                        .text("支出"))
 
-            return AAOptions()
-                .chart(AAChart()
-                        .type(AAChartType.Column))
-                .title(AATitle()
-                        .text("正负镜像柱形图")
-                        .style(AAStyle()
-                                .color(AAColor.White)
-                                .fontSize(18f)))
-                .xAxis(AAXAxis()
-                        .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月",
-                                "七月", "八月", "九月", "十月", "十一月", "十二月")))
-                .yAxisArray(arrayOf(aaYAxis1, aaYAxis2))
-                .plotOptions(AAPlotOptions()
-                             .series(AASeries()
-                                     .animation(AAAnimation()
-                                                .duration(800)
-                                                .easing(AAChartAnimationType.EaseInCirc)))
-                        .column(AAColumn()
-                                .grouping(false)
-                                .borderWidth(0f)
-                                .borderRadius(5f)))
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("收入")
-                            .color(gradientColorDic1)
-                            .data(arrayOf(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9,7.0, 6.9, 9.5, 14.5)),
-                        AASeriesElement()
-                            .name("支出")
-                            .color(gradientColorDic2)
-                            .data(arrayOf(-20.1, -14.1, -8.6, -2.5, -0.8, -5.7, -11.3, -17.0, -22.0, -24.8, -24.1, -20.1, -14.1, -8.6, -2.5)
-                            )))
+        val aaOptions = aaChartModel.aa_toAAOptions()
+        val aaPlotBandsElementArr = arrayOf(
+            AAPlotBandsElement()
+                .from(-0.25f)//值域颜色带X轴起始值
+                .to(4.75f)//值域颜色带X轴结束值
+                .color("#06caf4")//值域颜色带填充色
+            ,
+            AAPlotBandsElement()
+                .from(4.75f)
+                .to(8.25f)
+                .color("#ffd066")
+            ,
+            AAPlotBandsElement()
+                .from(8.25f)
+                .to(11.25f)
+                .color("#04d69f")
+        )
 
-        }
+        val aaXAxis = aaOptions.xAxis
+        aaXAxis?.plotBands(aaPlotBandsElementArr)
 
-         fun configureDoubleYAxisChartOptions(): AAOptions {
-            val aaTitle = AATitle()
-                .text("")
+        return aaOptions
+    }
 
-            val aaXAxis = AAXAxis()
-                .visible(true)
-                .min(0f)
-                .categories(arrayOf("Java", "Swift", "Python", "Ruby", "PHP", "Go","C",
-                        "C#", "C++", "Perl", "R", "MATLAB", "SQL"))
+    fun configureTheMirrorColumnChart(): AAOptions {
+        val gradientColorDic1 = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToTop,
+            "#7052f4",
+            "#00b0ff"//颜色字符串设置支持十六进制类型和 rgba 类型
+        )
 
-            val aaYAxisTitleStyle = AAStyle()
-                .color("#1e90ff")//Title font color
-                .fontSize(14f)//Title font size
-                .fontWeight(AAChartFontWeightType.Bold)//Title font weight
-                .textOutline("0px 0px contrast")
+        val gradientColorDic2 = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToTop,
+            "#EF71FF",
+            "#4740C8"//颜色字符串设置支持十六进制类型和 rgba 类型
+        )
 
-            val aaYAxisLabels = AALabels()
+        val aaYAxis1 = AAYAxis()
+            .visible(true)
+            .labels(AALabels()
                 .enabled(true)//设置 y 轴是否显示数字
                 .style(AAStyle()
-                        .color("#ff0000")//yAxis Label font color
-                        .fontSize(15f)//yAxis Label font size
-                        .fontWeight(AAChartFontWeightType.Bold))//yAxis Label font weight
+                    .color("#ff0000")//yAxis Label font color
+                    .fontSize(15f)//yAxis Label font size
+                    .fontWeight(AAChartFontWeightType.Bold)//yAxis Label font weight
+                ))
+            .gridLineWidth(0f)// Y 轴网格线宽度
+            .title(AATitle()
+                .text("收入"))//Y 轴标题
+
+        val aaYAxis2 = AAYAxis()
+            .visible(true)
+            .opposite(true)
+            .title(AATitle()
+                .text("支出"))
+
+        return AAOptions()
+            .chart(AAChart()
+                .type(AAChartType.Column))
+            .title(AATitle()
+                .text("正负镜像柱形图")
+                .style(AAStyle()
+                    .color(AAColor.White)
+                    .fontSize(18f)))
+            .xAxis(AAXAxis()
+                .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月",
+                    "七月", "八月", "九月", "十月", "十一月", "十二月")))
+            .yAxisArray(arrayOf(aaYAxis1, aaYAxis2))
+            .plotOptions(AAPlotOptions()
+                .series(AASeries()
+                    .animation(AAAnimation()
+                        .duration(800)
+                        .easing(AAChartAnimationType.EaseInCirc)))
+                .column(AAColumn()
+                    .grouping(false)
+                    .borderWidth(0f)
+                    .borderRadius(5f)))
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("收入")
+                    .color(gradientColorDic1)
+                    .data(arrayOf(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9,7.0, 6.9, 9.5, 14.5)),
+                AASeriesElement()
+                    .name("支出")
+                    .color(gradientColorDic2)
+                    .data(arrayOf(-20.1, -14.1, -8.6, -2.5, -0.8, -5.7, -11.3, -17.0, -22.0, -24.8, -24.1, -20.1, -14.1, -8.6, -2.5)
+                    )))
 
+    }
 
-            val yAxisOne = AAYAxis()
-                .visible(true)
-                .labels(aaYAxisLabels)
-                .title(AATitle()
-                        .text("冬季降雨量")
-                        .style(aaYAxisTitleStyle))
-                .opposite(true)
+    fun configureDoubleYAxisChartOptions(): AAOptions {
+        val aaTitle = AATitle()
+            .text("")
 
+        val aaXAxis = AAXAxis()
+            .visible(true)
+            .min(0f)
+            .categories(arrayOf("Java", "Swift", "Python", "Ruby", "PHP", "Go","C",
+                "C#", "C++", "Perl", "R", "MATLAB", "SQL"))
 
-            val yAxisTwo = AAYAxis()
-                .visible(true)
-                .labels(aaYAxisLabels)
-                .title(AATitle()
-                        .text("夏季降雨量")
-                        .style(aaYAxisTitleStyle))
+        val aaYAxisTitleStyle = AAStyle()
+            .color("#1e90ff")//Title font color
+            .fontSize(14f)//Title font size
+            .fontWeight(AAChartFontWeightType.Bold)//Title font weight
+            .textOutline("0px 0px contrast")
 
-            val aaTooltip = AATooltip()
-                .enabled(true)
-                .shared(true)
+        val aaYAxisLabels = AALabels()
+            .enabled(true)//设置 y 轴是否显示数字
+            .style(AAStyle()
+                .color("#ff0000")//yAxis Label font color
+                .fontSize(15f)//yAxis Label font size
+                .fontWeight(AAChartFontWeightType.Bold))//yAxis Label font weight
 
-            val gradientColorDic1 = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToTop,
-                "#f54ea2",
-                "#ff7676"//颜色字符串设置支持十六进制类型和 rgba 类型
-            )
 
-            val gradientColorDic2 = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToTop,
-                "#17ead9",
-                "#6078ea"//颜色字符串设置支持十六进制类型和 rgba 类型
-            )
+        val yAxisOne = AAYAxis()
+            .visible(true)
+            .labels(aaYAxisLabels)
+            .title(AATitle()
+                .text("冬季降雨量")
+                .style(aaYAxisTitleStyle))
+            .opposite(true)
 
-            val aaMarker = AAMarker()
-                .radius(7f)//曲线连接点半径,默认是4
-                .symbol(AAChartSymbolType.Circle.value)//曲线点类型:"circle", "square", "diamond", "triangle","triangle-down",默认是"circle"
-                .fillColor("#ffffff")//点的填充色(用来设置折线连接点的填充色)
-                .lineWidth(3f)//外沿线的宽度(用来设置折线连接点的轮廓描边的宽度)
-                .lineColor("")//外沿线的颜色(用来设置折线连接点的轮廓描边颜色,当值为空字符串时,默认取数据点或数据列的颜色)
-
-            val element1 = AASeriesElement()
-                .name("2017")
-                .type(AAChartType.Areaspline)
-                //          .borderRadius(4)
-                .color(gradientColorDic1)
-                .marker(aaMarker)
-                .yAxis(1)
-                .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-
-            val element2 = AASeriesElement()
-                .name("2018")
-                .type(AAChartType.Column)
-                .color(gradientColorDic2)
-                .yAxis(0)
-                .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-
-
-            return AAOptions()
-                .title(aaTitle)
-                .xAxis(aaXAxis)
-                .yAxisArray(arrayOf(yAxisOne, yAxisTwo))
-                .tooltip(aaTooltip)
-                .series(arrayOf(element1, element2))
-        }
 
-         fun configureTripleYAxesMixedChart(): AAOptions {
-            val colorsThemeArr = arrayOf("red", "mediumspringgreen", "deepskyblue")
+        val yAxisTwo = AAYAxis()
+            .visible(true)
+            .labels(aaYAxisLabels)
+            .title(AATitle()
+                .text("夏季降雨量")
+                .style(aaYAxisTitleStyle))
 
-            val aaTitle = AATitle()
-                .text("东京月平均天气数据")
+        val aaTooltip = AATooltip()
+            .enabled(true)
+            .shared(true)
 
-            val aaSubtitle = AASubtitle()
-                .text("数据来源: WorldClimate.com")
+        val gradientColorDic1 = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToTop,
+            "#f54ea2",
+            "#ff7676"//颜色字符串设置支持十六进制类型和 rgba 类型
+        )
 
-            val aaXAxis = AAXAxis()
-                .visible(true)
-                .min(0f)
-                .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月",
-                        "七月", "八月", "九月", "十月", "十一月", "十二月"))
-
-            val yAxis1 = AAYAxis()
-                .visible(true)
-                .gridLineWidth(0f)
-                .labels(AALabels()
-                        .enabled(true)//设置 y 轴是否显示数字
-                        .format("{value}°C")
-                        .style(AAStyle()
-                                .color(colorsThemeArr[2])))//yAxis Label font color
-                .title(AATitle()
-                        .text("温度")
-                        .style(AAStyle()
-                                .color(colorsThemeArr[2])))
-                .opposite(true)
-
-            val yAxis2 = AAYAxis()
-                .visible(true)
-                .gridLineWidth(0f)
-                .labels(AALabels()
-                        .enabled(true)//设置 y 轴是否显示数字
-                        .format("{value}°mm")
-                        .style(AAStyle()
-                                .color(colorsThemeArr[0])))//yAxis Label font color
-                .title(AATitle()
-                        .text("降雨量")
-                        .style(AAStyle()
-                                .color(colorsThemeArr[0])))
-
-            val yAxis3 = AAYAxis()
-                .visible(true)
-                .gridLineWidth(0f)
-                .labels(AALabels()
-                        .enabled(true)//设置 y 轴是否显示数字
-                        .format("{value}°mb")
-                        .style(AAStyle()
-                                .color(colorsThemeArr[1])))//yAxis Label font color
-                .title(AATitle()
-                        .text("海平面气压")
-                        .style(AAStyle()
-                                .color(colorsThemeArr[1])))
-                .opposite(true)
+        val gradientColorDic2 = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToTop,
+            "#17ead9",
+            "#6078ea"//颜色字符串设置支持十六进制类型和 rgba 类型
+        )
 
+        val aaMarker = AAMarker()
+            .radius(7f)//曲线连接点半径,默认是4
+            .symbol(AAChartSymbolType.Circle.value)//曲线点类型:"circle", "square", "diamond", "triangle","triangle-down",默认是"circle"
+            .fillColor("#ffffff")//点的填充色(用来设置折线连接点的填充色)
+            .lineWidth(3f)//外沿线的宽度(用来设置折线连接点的轮廓描边的宽度)
+            .lineColor("")//外沿线的颜色(用来设置折线连接点的轮廓描边颜色,当值为空字符串时,默认取数据点或数据列的颜色)
+
+        val element1 = AASeriesElement()
+            .name("2017")
+            .type(AAChartType.Areaspline)
+            //          .borderRadius(4)
+            .color(gradientColorDic1)
+            .marker(aaMarker)
+            .yAxis(1)
+            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+
+        val element2 = AASeriesElement()
+            .name("2018")
+            .type(AAChartType.Column)
+            .color(gradientColorDic2)
+            .yAxis(0)
+            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+
+
+        return AAOptions()
+            .title(aaTitle)
+            .xAxis(aaXAxis)
+            .yAxisArray(arrayOf(yAxisOne, yAxisTwo))
+            .tooltip(aaTooltip)
+            .series(arrayOf(element1, element2))
+    }
 
-            val aaTooltip = AATooltip()
-                .enabled(true)
-                .shared(true)
+    fun configureTripleYAxesMixedChart(): AAOptions {
+        val colorsThemeArr = arrayOf("red", "mediumspringgreen", "deepskyblue")
 
-            val aaLegend = AALegend()
-                .enabled(true)
-                .floating(true)
-                .layout(AAChartLayoutType.Vertical)
-                .align(AAChartAlignType.Left)
-                .x(80f)
-                .verticalAlign(AAChartVerticalAlignType.Top)
-                .y(55f)
-
-            val element1 = AASeriesElement()
-                .name("降雨量")
-                .type(AAChartType.Column)
-                .yAxis(1)
-                .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))
-                .tooltip(AATooltip()
-                        .valueSuffix(" mm"))
-
-            val element2 = AASeriesElement()
-                .name("海平面气压")
-                .type(AAChartType.Line)
-                .yAxis(2)
-                .data(arrayOf(1016, 1016, 1015.9, 1015.5, 1012.3, 1009.5, 1009.6, 1010.2, 1013.1, 1016.9, 1018.2, 1016.7))
-                .dashStyle(AAChartLineDashStyleType.ShortDot)
-                .tooltip(AATooltip()
-                        .valueSuffix(" mb"))
-
-            val element3 = AASeriesElement()
-                .name("温度")
-                .type(AAChartType.Line)
-                .yAxis(0)
-                .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))
-                .tooltip(AATooltip()
-                        .valueSuffix(" ℃"))
-
-            return AAOptions()
-                .title(aaTitle)
-                .subtitle(aaSubtitle)
-                .colors(colorsThemeArr as Array<Any>)
-                .xAxis(aaXAxis)
-                .yAxisArray(arrayOf(yAxis1, yAxis2, yAxis3))
-                .tooltip(aaTooltip)
-                .legend(aaLegend)
-                .series(arrayOf(element1, element2, element3))
-        }
+        val aaTitle = AATitle()
+            .text("东京月平均天气数据")
 
-       fun customLineChartDataLabelsFormat(): AAOptions {
-            val aaChartModel = AAChartModel()
-                //选择图表类型
-                .chartType(AAChartType.Line)
-                .colorsTheme(arrayOf("#465DBC"))
-                //title标题
-                .title("最近三十分钟数据展示")
-                .titleStyle(AAStyle()
-                    .color("#0F0F0F")
-                    .fontSize(20f))
-                //坐标轴字体颜色
-                .axesTextColor("#0F0F0F")
-                //背景颜色
-                .zoomType(AAChartZoomType.XY)
-                .backgroundColor("#FFFFFF")
-                //数据是否显示
-                .dataLabelsEnabled(true)
-                //x轴是否显示数据
-                .xAxisLabelsEnabled(true)
-                //x轴显示的数据间隔
-                .xAxisTickInterval(5)
-                //y轴是否显示数据
-                .yAxisLabelsEnabled(true)
-                //y轴标题
-                .yAxisTitle("湿度%")
-                //y轴最大值
-                .yAxisMax(100.0f)
-                //y轴最小值
-                .yAxisMin(0.0f)
-                .yAxisAllowDecimals(true) //y轴数据
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("湿度")
-                            .data(arrayOf(44.0999, 44.8880, 44.7770, 43.0066, 43.6660, 43.5550)
-                            )))
-            val aaOptions = aaChartModel.aa_toAAOptions()
-            aaOptions.plotOptions?.line?.dataLabels?.format =
-                "{point.y:.4f} ℃" //保留 Y 轴值的小数点后 4 位
-            return aaOptions
-        }
+        val aaSubtitle = AASubtitle()
+            .text("数据来源: WorldClimate.com")
 
-       fun configureDoubleYAxesAndColumnLineMixedChart(): AAOptions {
-            val stopsArr: Array<Any> = arrayOf(
-                    arrayOf(0.0, "rgba(156,107,211,0.5)"),
-                    arrayOf(0.2, "rgba(156,107,211,0.3)"),
-                    arrayOf(1.0, "rgba(156,107,211,0)")
-                )
-            val gradientColorDic1 = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToBottom,
-                stopsArr
-            )
-            val gradientColorDic2 = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToBottom,
-                "#956FD4",
-                "#3EACE5" //颜色字符串设置支持十六进制类型和 rgba 类型
-            )
-            val category = arrayOf(
-                "市区", "万州", "江北", "南岸", "北碚", "綦南", "长寿", "永川", "璧山", "江津",
-                "城口", "大足", "垫江", "丰都", "奉节", "合川", "江津区", "开州", "南川", "彭水",
-                "黔江", "石柱", "铜梁", "潼南", "巫山", "巫溪", "武隆", "秀山", "酉阳", "云阳",
-                "忠县", "川东", "检修"
-            )
-            val goalValuesArr = arrayOf(
-                18092, 20728, 24045, 28348, 32808
-                , 36097, 39867, 44715, 48444, 50415
-                , 56061, 62677, 59521, 67560, 18092, 20728, 24045, 28348, 32808
-                , 36097, 39867, 44715, 48444, 50415, 36097, 39867, 44715, 48444, 50415
-                , 50061, 32677, 49521, 32808
-            )
-            val realValuesArr = arrayOf(
-                4600, 5000, 5500, 6500, 7500
-                , 8500, 9900, 12500, 14000, 21500
-                , 23200, 24450, 25250, 33300, 4600, 5000, 5500, 6500, 7500
-                , 8500, 9900, 22500, 14000, 21500, 8500, 9900, 12500, 14000, 21500
-                , 23200, 24450, 25250, 7500
-            )
-            val rateValuesArr = arrayOfNulls<Any>(33) 
-            for (i in 0..32) {
-                val goalValue: Float = goalValuesArr[i].toFloat()
-                val realValue: Float = realValuesArr[i].toFloat()
-                val rateValue = realValue / goalValue
-                rateValuesArr[i] = rateValue
-            }
-            val aaChart = AAChart()
-                .backgroundColor("#191E40")
-            val aaTitle = AATitle()
-                .text("")
-            val aaLabels = AALabels()
-                .enabled(true)
+        val aaXAxis = AAXAxis()
+            .visible(true)
+            .min(0f)
+            .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月",
+                "七月", "八月", "九月", "十月", "十一月", "十二月"))
+
+        val yAxis1 = AAYAxis()
+            .visible(true)
+            .gridLineWidth(0f)
+            .labels(AALabels()
+                .enabled(true)//设置 y 轴是否显示数字
+                .format("{value}°C")
                 .style(AAStyle()
-                        .color(AAColor.LightGray))
-            val aaXAxis = AAXAxis()
-                .visible(true)
-                .labels(aaLabels)
-                .min(0f)
-                .categories(category)
-            val aaYAxisTitleStyle = AAStyle()
-                .color("#1e90ff") //Title font color
-                .fontSize(14f) //Title font size
-                .fontWeight(AAChartFontWeightType.Bold) //Title font weight
-                .textOutline("0px 0px contrast")
-            val yAxis1 = AAYAxis()
-                .visible(true)
-                .labels(aaLabels)
-                .gridLineWidth(0f)
-                .title(AATitle()
-                        .text("已贯通 / 计划贯通")
-                        .style(aaYAxisTitleStyle))
-            val yAxis2 = AAYAxis()
-                .visible(true)
-                .labels(aaLabels)
-                .gridLineWidth(0f)
-                .title(AATitle()
-                        .text("贯通率")
-                        .style(aaYAxisTitleStyle))
-                .opposite(true)
-            val aaTooltip = AATooltip()
-                .enabled(true)
-                .shared(true)
-            val aaPlotOptions = AAPlotOptions()
-                .series(AASeries()
-                        .animation(AAAnimation()
-                                .easing(AAChartAnimationType.EaseTo)
-                                .duration(1000)))
-                .column(AAColumn()
-                        .grouping(false)
-                        .pointPadding(0f)
-                        .pointPlacement(0f))
-            val aaLegend = AALegend()
-                .enabled(true)
-                .itemStyle(AAItemStyle()
-                        .color(AAColor.LightGray))
-                .floating(true)
-                .layout(AAChartLayoutType.Horizontal)
-                .align(AAChartAlignType.Left)
-                .x(30f)
-                .verticalAlign(AAChartVerticalAlignType.Top)
-                .y(10f)
-            val goalValuesElement: AASeriesElement = AASeriesElement()
-                .name("计划贯通")
-                .type(AAChartType.Column)
-                .borderWidth(0f)
-                .color(gradientColorDic1)
-                .yAxis(0)
-                .data(goalValuesArr as Array<Any>)
-            val realValuesElement: AASeriesElement = AASeriesElement()
-                .name("已贯通")
-                .type(AAChartType.Column)
-                .borderWidth(0f)
-                .color(gradientColorDic2)
-                .yAxis(0)
-                .data(realValuesArr as Array<Any>)
-            val rateValuesElement = AASeriesElement()
-                .name("贯通率")
-                .type(AAChartType.Line)
-                .marker(AAMarker()
-                        .radius(7f) //曲线连接点半径,默认是4
-                        .symbol(AAChartSymbolType.Circle.value) //曲线点类型:"circle", "square", "diamond", "triangle","triangle-down",默认是"circle"
-                        .fillColor("#ffffff") //点的填充色(用来设置折线连接点的填充色)
-                        .lineWidth(3f) //外沿线的宽度(用来设置折线连接点的轮廓描边的宽度)
-                        .lineColor("") //外沿线的颜色(用来设置折线连接点的轮廓描边颜色,当值为空字符串时,默认取数据点或数据列的颜色)
-                )
-                .color("#F02FC2")
-                .yAxis(1)
-                .data(rateValuesArr as Array<Any>)
-            return AAOptions()
-                .chart(aaChart)
-                .title(aaTitle)
-                .xAxis(aaXAxis)
-                .yAxisArray(arrayOf(yAxis1, yAxis2))
-                .tooltip(aaTooltip)
-                .plotOptions(aaPlotOptions)
-                .legend(aaLegend)
-                .series(arrayOf(
-                        goalValuesElement,
-                        realValuesElement,
-                        rateValuesElement
-                    ))
-        }
+                    .color(colorsThemeArr[2])))//yAxis Label font color
+            .title(AATitle()
+                .text("温度")
+                .style(AAStyle()
+                    .color(colorsThemeArr[2])))
+            .opposite(true)
 
-       fun configureDoubleYAxesMarketDepthChart(): AAOptions {
-            val aaChart = AAChart()
-                .type(AAChartType.Area)
-            val aaTitle = AATitle()
-                .text("ETH-BTC 市场深度图")
-            val aaSubtitle = AASubtitle()
-                .text("数据来源: https://github.com/AAChartModel")
-            val aaXAxis = AAXAxis()
-                .visible(true)
-                .plotLines(arrayOf(
-                        AAPlotLinesElement()
-                            .color(AAColor.Red)
-                            .value(0.1523f)
-                            .width(1.5f)
-                            .label(AALabel()
-                                    .text("实际价格")
-                                    .style(AAChartLineDashStyleType.ShortDashDotDot) //.rotation(90)
-                            )))
-            val yAxis1 = AAYAxis()
-                .visible(true)
-                .lineWidth(1f)
-                .title(AATitle()
-                        .text(""))
-                .tickWidth(1f)
-                .tickLength(5f)
-                .tickPosition("inside")
-                .gridLineWidth(1f)
-                .labels(AALabels()
-                        .enabled(true) //设置 y 轴是否显示数字
-                        .align(AAChartAlignType.Left)
-                        .x(8f))
-            val yAxis2 = AAYAxis()
-                .opposite(true)
-                .visible(true)
-                .lineWidth(1f)
-                .title(AATitle()
-                        .text(""))
-                .tickWidth(1f)
-                .tickLength(5f)
-                .tickPosition("inside")
-                .gridLineWidth(0f)
-                .labels(AALabels()
-                        .enabled(true) //设置 y 轴是否显示数字
-                        .align(AAChartAlignType.Right)
-                        .x(-8f))
-            val aaTooltip = AATooltip()
-                .enabled(true)
-                .headerFormat("<span style=\\\"font-size=10px;\\\">Price: {point.key}</span><br/>")
-                .valueDecimals(2)
-            val aaLegend = AALegend()
-                .enabled(false)
-            val element1 = AASeriesElement()
-                .name("Bids")
-                .color("#04d69f")
-                .step(true)
-                .data(arrayOf(
-                        arrayOf(0.1524, 0.948665),
-                        arrayOf(0.1539, 35.510715),
-                        arrayOf(0.154, 39.883437),
-                        arrayOf(0.1541, 40.499661),
-                        arrayOf(0.1545, 43.262994000000006),
-                        arrayOf(0.1547, 60.14799400000001),
-                        arrayOf(0.1553, 60.30799400000001),
-                        arrayOf(0.1558, 60.55018100000001),
-                        arrayOf(0.1564, 68.381696),
-                        arrayOf(0.1567, 69.46518400000001),
-                        arrayOf(0.1569, 69.621464),
-                        arrayOf(0.157, 70.398015),
-                        arrayOf(0.1574, 70.400197),
-                        arrayOf(0.1575, 73.199217),
-                        arrayOf(0.158, 77.700017),
-                        arrayOf(0.1583, 79.449017),
-                        arrayOf(0.1588, 79.584064),
-                        arrayOf(0.159, 80.584064),
-                        arrayOf(0.16, 81.58156),
-                        arrayOf(0.1608, 83.38156)
-                    ))
-            val element2 = AASeriesElement()
-                .name("Asks")
-                .color("#1e90ff")
-                .step(true)
-                .data(arrayOf(
-                        arrayOf(0.1435, 242.521842),
-                        arrayOf(0.1436, 206.49862099999999),
-                        arrayOf(0.1437, 205.823735),
-                        arrayOf(0.1438, 197.33275),
-                        arrayOf(0.1439, 153.677454),
-                        arrayOf(0.144, 146.007722),
-                        arrayOf(0.1442, 82.55212900000001),
-                        arrayOf(0.1443, 59.152814000000006),
-                        arrayOf(0.1444, 57.942260000000005),
-                        arrayOf(0.1445, 57.483850000000004),
-                        arrayOf(0.1446, 52.39210800000001),
-                        arrayOf(0.1447, 51.867208000000005),
-                        arrayOf(0.1448, 44.104697),
-                        arrayOf(0.1449, 40.131217),
-                        arrayOf(0.145, 31.878217),
-                        arrayOf(0.1451, 22.794916999999998),
-                        arrayOf(0.1453, 12.345828999999998),
-                        arrayOf(0.1454, 10.035642),
-                        arrayOf(0.148, 9.326642),
-                        arrayOf(0.1522, 3.76317)
-                    ))
-            return AAOptions()
-                .chart(aaChart)
-                .title(aaTitle)
-                .subtitle(aaSubtitle)
-                .xAxis(aaXAxis)
-                .yAxisArray(arrayOf(yAxis1, yAxis2))
-                .tooltip(aaTooltip)
-                .legend(aaLegend)
-                .series(arrayOf(element1, element2))
-        }
+        val yAxis2 = AAYAxis()
+            .visible(true)
+            .gridLineWidth(0f)
+            .labels(AALabels()
+                .enabled(true)//设置 y 轴是否显示数字
+                .format("{value}°mm")
+                .style(AAStyle()
+                    .color(colorsThemeArr[0])))//yAxis Label font color
+            .title(AATitle()
+                .text("降雨量")
+                .style(AAStyle()
+                    .color(colorsThemeArr[0])))
 
-       fun customAreaChartTooltipStyleLikeHTMLTable(): AAOptions {
-            val element1 = AASeriesElement()
-                .name("Predefined symbol")
-                .data(arrayOf(0.45, 0.43, 0.50, 0.55, 0.58, 0.62, 0.83, 0.39, 0.56, 0.67, 0.50, 0.34, 0.50, 0.67, 0.58, 0.29, 0.46, 0.23, 0.47, 0.46, 0.38, 0.56, 0.48, 0.36))
-
-            val element2 = AASeriesElement()
-                .name("Image symbol")
-                .data(arrayOf(0.38, 0.31, 0.32, 0.32, 0.64, 0.66, 0.86, 0.47, 0.52, 0.75, 0.52, 0.56, 0.54, 0.60, 0.46, 0.63, 0.54, 0.51, 0.58, 0.64, 0.60, 0.45, 0.36, 0.67))
-
-            val element3 = AASeriesElement()
-                .name("Base64 symbol (*)")
-                .data(arrayOf(0.46, 0.32, 0.53, 0.58, 0.86, 0.68, 0.85, 0.73, 0.69, 0.71, 0.91, 0.74, 0.60, 0.50, 0.39, 0.67, 0.55, 0.49, 0.65, 0.45, 0.64, 0.47, 0.63, 0.64))
-
-            val element4 = AASeriesElement()
-                .name("Custom symbol")
-                .data(arrayOf(0.60, 0.51, 0.52, 0.53, 0.64, 0.84, 0.65, 0.68, 0.63, 0.47, 0.72, 0.60, 0.65, 0.74, 0.66, 0.65, 0.71, 0.59, 0.65, 0.77, 0.52, 0.53, 0.58, 0.53))
-
-
-            val aaChartModel = AAChartModel()
-                .chartType(AAChartType.Areaspline) //图表类型
-                .title("") //图表主标题
-                .subtitle("") //图表副标题
-                .colorsTheme(arrayOf("#04d69f", "#1e90ff", "#ef476f", "#ffd066"))
-                .stacking(AAChartStackingType.Normal)
-                .yAxisTitle("") //设置 Y 轴标题
-                .yAxisVisible(false)
-                .markerRadius(0f)
-                .series(arrayOf(element1, element2, element3, element4))
-
-            val aaOptions = aaChartModel.aa_toAAOptions()
-            aaOptions.tooltip!!
-                .shared(true)
-                .useHTML(true)
-                .headerFormat("<small>{point.key} 摄氏度</small><table>")
-                .pointFormat("<tr><td style=\\\"color: {series.color}\\\">{series.name}: </td>"
-                            + "<td style=\\\"text-align: right\\\"><b>{point.y}EUR</b></td></tr>")
-                .footerFormat("</table>")
-                .valueDecimals(2)
-            return aaOptions
-        }
+        val yAxis3 = AAYAxis()
+            .visible(true)
+            .gridLineWidth(0f)
+            .labels(AALabels()
+                .enabled(true)//设置 y 轴是否显示数字
+                .format("{value}°mb")
+                .style(AAStyle()
+                    .color(colorsThemeArr[1])))//yAxis Label font color
+            .title(AATitle()
+                .text("海平面气压")
+                .style(AAStyle()
+                    .color(colorsThemeArr[1])))
+            .opposite(true)
 
-        fun simpleGaugeChart(): AAOptions {
-            return AAOptions()
-                .chart(AAChart()
-                        .type(AAChartType.Gauge))
-                .pane(AAPane()
-                        .startAngle(-150f)
-                        .endAngle(150f))
-                .yAxis(AAYAxis()
-                        .min(0f)
-                        .max(100f)
-                        .plotBands(arrayOf(
-                                AAPlotBandsElement()
-                                    .from(0f)
-                                    .to(60f)
-                                    .color("#FF0000"))))
-                .series(arrayOf(
-                        AASeriesElement()
-                            .data(arrayOf(80))
-                    ))
-        }
 
-        fun gaugeChartWithPlotBand(): AAOptions {
-            return AAOptions()
-                .chart(AAChart()
-                        .type(AAChartType.Gauge))
-                .title(AATitle()
-                        .text("速度仪"))
-                .pane(AAPane()
-                        .startAngle(-150f)
-                        .endAngle(150f))
-                .yAxis(AAYAxis()
-                        .min(0f)
-                        .max(200f)
-                        .title(AATitle()
-                                .text("km/h"))
-                        .plotBands(arrayOf(
-                                AAPlotBandsElement()
-                                    .from(0f)
-                                    .to(120f)
-                                    .color("#ffc069"),
-                                AAPlotBandsElement()
-                                    .from(120f)
-                                    .to(160f)
-                                    .color("#fe117c"),
-                                AAPlotBandsElement()
-                                    .from(160f)
-                                    .to(200f)
-                                    .color("#06caf4")
-                            )))
-                .series(arrayOf(
-                        AASeriesElement()
-                            .data(arrayOf(80))
-                    ))
+        val aaTooltip = AATooltip()
+            .enabled(true)
+            .shared(true)
+
+        val aaLegend = AALegend()
+            .enabled(true)
+            .floating(true)
+            .layout(AAChartLayoutType.Vertical)
+            .align(AAChartAlignType.Left)
+            .x(80f)
+            .verticalAlign(AAChartVerticalAlignType.Top)
+            .y(55f)
+
+        val element1 = AASeriesElement()
+            .name("降雨量")
+            .type(AAChartType.Column)
+            .yAxis(1)
+            .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))
+            .tooltip(AATooltip()
+                .valueSuffix(" mm"))
+
+        val element2 = AASeriesElement()
+            .name("海平面气压")
+            .type(AAChartType.Line)
+            .yAxis(2)
+            .data(arrayOf(1016, 1016, 1015.9, 1015.5, 1012.3, 1009.5, 1009.6, 1010.2, 1013.1, 1016.9, 1018.2, 1016.7))
+            .dashStyle(AAChartLineDashStyleType.ShortDot)
+            .tooltip(AATooltip()
+                .valueSuffix(" mb"))
+
+        val element3 = AASeriesElement()
+            .name("温度")
+            .type(AAChartType.Line)
+            .yAxis(0)
+            .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))
+            .tooltip(AATooltip()
+                .valueSuffix(" ℃"))
+
+        return AAOptions()
+            .title(aaTitle)
+            .subtitle(aaSubtitle)
+            .colors(colorsThemeArr as Array<Any>)
+            .xAxis(aaXAxis)
+            .yAxisArray(arrayOf(yAxis1, yAxis2, yAxis3))
+            .tooltip(aaTooltip)
+            .legend(aaLegend)
+            .series(arrayOf(element1, element2, element3))
+    }
+
+    fun customLineChartDataLabelsFormat(): AAOptions {
+        val aaChartModel = AAChartModel()
+            //选择图表类型
+            .chartType(AAChartType.Line)
+            .colorsTheme(arrayOf("#465DBC"))
+            //title标题
+            .title("最近三十分钟数据展示")
+            .titleStyle(AAStyle()
+                .color("#0F0F0F")
+                .fontSize(20f))
+            //坐标轴字体颜色
+            .axesTextColor("#0F0F0F")
+            //背景颜色
+            .zoomType(AAChartZoomType.XY)
+            .backgroundColor("#FFFFFF")
+            //数据是否显示
+            .dataLabelsEnabled(true)
+            //x轴是否显示数据
+            .xAxisLabelsEnabled(true)
+            //x轴显示的数据间隔
+            .xAxisTickInterval(5)
+            //y轴是否显示数据
+            .yAxisLabelsEnabled(true)
+            //y轴标题
+            .yAxisTitle("湿度%")
+            //y轴最大值
+            .yAxisMax(100.0f)
+            //y轴最小值
+            .yAxisMin(0.0f)
+            .yAxisAllowDecimals(true) //y轴数据
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("湿度")
+                    .data(arrayOf(44.0999, 44.8880, 44.7770, 43.0066, 43.6660, 43.5550)
+                    )))
+        val aaOptions = aaChartModel.aa_toAAOptions()
+        aaOptions.plotOptions?.line?.dataLabels?.format =
+            "{point.y:.4f} ℃" //保留 Y 轴值的小数点后 4 位
+        return aaOptions
+    }
+
+    fun configureDoubleYAxesAndColumnLineMixedChart(): AAOptions {
+        val stopsArr: Array<Any> = arrayOf(
+            arrayOf(0.0, "rgba(156,107,211,0.5)"),
+            arrayOf(0.2, "rgba(156,107,211,0.3)"),
+            arrayOf(1.0, "rgba(156,107,211,0)")
+        )
+        val gradientColorDic1 = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToBottom,
+            stopsArr
+        )
+        val gradientColorDic2 = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToBottom,
+            "#956FD4",
+            "#3EACE5" //颜色字符串设置支持十六进制类型和 rgba 类型
+        )
+        val category = arrayOf(
+            "市区", "万州", "江北", "南岸", "北碚", "綦南", "长寿", "永川", "璧山", "江津",
+            "城口", "大足", "垫江", "丰都", "奉节", "合川", "江津区", "开州", "南川", "彭水",
+            "黔江", "石柱", "铜梁", "潼南", "巫山", "巫溪", "武隆", "秀山", "酉阳", "云阳",
+            "忠县", "川东", "检修"
+        )
+        val goalValuesArr = arrayOf(
+            18092, 20728, 24045, 28348, 32808
+            , 36097, 39867, 44715, 48444, 50415
+            , 56061, 62677, 59521, 67560, 18092, 20728, 24045, 28348, 32808
+            , 36097, 39867, 44715, 48444, 50415, 36097, 39867, 44715, 48444, 50415
+            , 50061, 32677, 49521, 32808
+        )
+        val realValuesArr = arrayOf(
+            4600, 5000, 5500, 6500, 7500
+            , 8500, 9900, 12500, 14000, 21500
+            , 23200, 24450, 25250, 33300, 4600, 5000, 5500, 6500, 7500
+            , 8500, 9900, 22500, 14000, 21500, 8500, 9900, 12500, 14000, 21500
+            , 23200, 24450, 25250, 7500
+        )
+        val rateValuesArr = arrayOfNulls<Any>(33)
+        for (i in 0..32) {
+            val goalValue: Float = goalValuesArr[i].toFloat()
+            val realValue: Float = realValuesArr[i].toFloat()
+            val rateValue = realValue / goalValue
+            rateValuesArr[i] = rateValue
         }
+        val aaChart = AAChart()
+            .backgroundColor("#191E40")
+        val aaTitle = AATitle()
+            .text("")
+        val aaLabels = AALabels()
+            .enabled(true)
+            .style(AAStyle()
+                .color(AAColor.LightGray))
+        val aaXAxis = AAXAxis()
+            .visible(true)
+            .labels(aaLabels)
+            .min(0f)
+            .categories(category)
+        val aaYAxisTitleStyle = AAStyle()
+            .color("#1e90ff") //Title font color
+            .fontSize(14f) //Title font size
+            .fontWeight(AAChartFontWeightType.Bold) //Title font weight
+            .textOutline("0px 0px contrast")
+        val yAxis1 = AAYAxis()
+            .visible(true)
+            .labels(aaLabels)
+            .gridLineWidth(0f)
+            .title(AATitle()
+                .text("已贯通 / 计划贯通")
+                .style(aaYAxisTitleStyle))
+        val yAxis2 = AAYAxis()
+            .visible(true)
+            .labels(aaLabels)
+            .gridLineWidth(0f)
+            .title(AATitle()
+                .text("贯通率")
+                .style(aaYAxisTitleStyle))
+            .opposite(true)
+        val aaTooltip = AATooltip()
+            .enabled(true)
+            .shared(true)
+        val aaPlotOptions = AAPlotOptions()
+            .series(AASeries()
+                .animation(AAAnimation()
+                    .easing(AAChartAnimationType.EaseTo)
+                    .duration(1000)))
+            .column(AAColumn()
+                .grouping(false)
+                .pointPadding(0f)
+                .pointPlacement(0f))
+        val aaLegend = AALegend()
+            .enabled(true)
+            .itemStyle(AAItemStyle()
+                .color(AAColor.LightGray))
+            .floating(true)
+            .layout(AAChartLayoutType.Horizontal)
+            .align(AAChartAlignType.Left)
+            .x(30f)
+            .verticalAlign(AAChartVerticalAlignType.Top)
+            .y(10f)
+        val goalValuesElement: AASeriesElement = AASeriesElement()
+            .name("计划贯通")
+            .type(AAChartType.Column)
+            .borderWidth(0f)
+            .color(gradientColorDic1)
+            .yAxis(0)
+            .data(goalValuesArr as Array<Any>)
+        val realValuesElement: AASeriesElement = AASeriesElement()
+            .name("已贯通")
+            .type(AAChartType.Column)
+            .borderWidth(0f)
+            .color(gradientColorDic2)
+            .yAxis(0)
+            .data(realValuesArr as Array<Any>)
+        val rateValuesElement = AASeriesElement()
+            .name("贯通率")
+            .type(AAChartType.Line)
+            .marker(AAMarker()
+                .radius(7f) //曲线连接点半径,默认是4
+                .symbol(AAChartSymbolType.Circle.value) //曲线点类型:"circle", "square", "diamond", "triangle","triangle-down",默认是"circle"
+                .fillColor("#ffffff") //点的填充色(用来设置折线连接点的填充色)
+                .lineWidth(3f) //外沿线的宽度(用来设置折线连接点的轮廓描边的宽度)
+                .lineColor("") //外沿线的颜色(用来设置折线连接点的轮廓描边颜色,当值为空字符串时,默认取数据点或数据列的颜色)
+            )
+            .color("#F02FC2")
+            .yAxis(1)
+            .data(rateValuesArr as Array<Any>)
+        return AAOptions()
+            .chart(aaChart)
+            .title(aaTitle)
+            .xAxis(aaXAxis)
+            .yAxisArray(arrayOf(yAxis1, yAxis2))
+            .tooltip(aaTooltip)
+            .plotOptions(aaPlotOptions)
+            .legend(aaLegend)
+            .series(arrayOf(
+                goalValuesElement,
+                realValuesElement,
+                rateValuesElement
+            ))
+    }
+
+    fun configureDoubleYAxesMarketDepthChart(): AAOptions {
+        val aaChart = AAChart()
+            .type(AAChartType.Area)
+        val aaTitle = AATitle()
+            .text("ETH-BTC 市场深度图")
+        val aaSubtitle = AASubtitle()
+            .text("数据来源: https://github.com/AAChartModel")
+        val aaXAxis = AAXAxis()
+            .visible(true)
+            .plotLines(arrayOf(
+                AAPlotLinesElement()
+                    .color(AAColor.Red)
+                    .value(0.1523f)
+                    .width(1.5f)
+                    .label(AALabel()
+                        .text("实际价格")
+                        .style(AAChartLineDashStyleType.ShortDashDotDot) //.rotation(90)
+                    )))
+        val yAxis1 = AAYAxis()
+            .visible(true)
+            .lineWidth(1f)
+            .title(AATitle()
+                .text(""))
+            .tickWidth(1f)
+            .tickLength(5f)
+            .tickPosition("inside")
+            .gridLineWidth(1f)
+            .labels(AALabels()
+                .enabled(true) //设置 y 轴是否显示数字
+                .align(AAChartAlignType.Left)
+                .x(8f))
+        val yAxis2 = AAYAxis()
+            .opposite(true)
+            .visible(true)
+            .lineWidth(1f)
+            .title(AATitle()
+                .text(""))
+            .tickWidth(1f)
+            .tickLength(5f)
+            .tickPosition("inside")
+            .gridLineWidth(0f)
+            .labels(AALabels()
+                .enabled(true) //设置 y 轴是否显示数字
+                .align(AAChartAlignType.Right)
+                .x(-8f))
+        val aaTooltip = AATooltip()
+            .enabled(true)
+            .headerFormat("<span style=\\\"font-size=10px;\\\">Price: {point.key}</span><br/>")
+            .valueDecimals(2)
+        val aaLegend = AALegend()
+            .enabled(false)
+        val element1 = AASeriesElement()
+            .name("Bids")
+            .color("#04d69f")
+            .step(true)
+            .data(arrayOf(
+                arrayOf(0.1524, 0.948665),
+                arrayOf(0.1539, 35.510715),
+                arrayOf(0.154, 39.883437),
+                arrayOf(0.1541, 40.499661),
+                arrayOf(0.1545, 43.262994000000006),
+                arrayOf(0.1547, 60.14799400000001),
+                arrayOf(0.1553, 60.30799400000001),
+                arrayOf(0.1558, 60.55018100000001),
+                arrayOf(0.1564, 68.381696),
+                arrayOf(0.1567, 69.46518400000001),
+                arrayOf(0.1569, 69.621464),
+                arrayOf(0.157, 70.398015),
+                arrayOf(0.1574, 70.400197),
+                arrayOf(0.1575, 73.199217),
+                arrayOf(0.158, 77.700017),
+                arrayOf(0.1583, 79.449017),
+                arrayOf(0.1588, 79.584064),
+                arrayOf(0.159, 80.584064),
+                arrayOf(0.16, 81.58156),
+                arrayOf(0.1608, 83.38156)
+            ))
+        val element2 = AASeriesElement()
+            .name("Asks")
+            .color("#1e90ff")
+            .step(true)
+            .data(arrayOf(
+                arrayOf(0.1435, 242.521842),
+                arrayOf(0.1436, 206.49862099999999),
+                arrayOf(0.1437, 205.823735),
+                arrayOf(0.1438, 197.33275),
+                arrayOf(0.1439, 153.677454),
+                arrayOf(0.144, 146.007722),
+                arrayOf(0.1442, 82.55212900000001),
+                arrayOf(0.1443, 59.152814000000006),
+                arrayOf(0.1444, 57.942260000000005),
+                arrayOf(0.1445, 57.483850000000004),
+                arrayOf(0.1446, 52.39210800000001),
+                arrayOf(0.1447, 51.867208000000005),
+                arrayOf(0.1448, 44.104697),
+                arrayOf(0.1449, 40.131217),
+                arrayOf(0.145, 31.878217),
+                arrayOf(0.1451, 22.794916999999998),
+                arrayOf(0.1453, 12.345828999999998),
+                arrayOf(0.1454, 10.035642),
+                arrayOf(0.148, 9.326642),
+                arrayOf(0.1522, 3.76317)
+            ))
+        return AAOptions()
+            .chart(aaChart)
+            .title(aaTitle)
+            .subtitle(aaSubtitle)
+            .xAxis(aaXAxis)
+            .yAxisArray(arrayOf(yAxis1, yAxis2))
+            .tooltip(aaTooltip)
+            .legend(aaLegend)
+            .series(arrayOf(element1, element2))
+    }
+
+    fun customAreaChartTooltipStyleLikeHTMLTable(): AAOptions {
+        val element1 = AASeriesElement()
+            .name("Predefined symbol")
+            .data(arrayOf(0.45, 0.43, 0.50, 0.55, 0.58, 0.62, 0.83, 0.39, 0.56, 0.67, 0.50, 0.34, 0.50, 0.67, 0.58, 0.29, 0.46, 0.23, 0.47, 0.46, 0.38, 0.56, 0.48, 0.36))
+
+        val element2 = AASeriesElement()
+            .name("Image symbol")
+            .data(arrayOf(0.38, 0.31, 0.32, 0.32, 0.64, 0.66, 0.86, 0.47, 0.52, 0.75, 0.52, 0.56, 0.54, 0.60, 0.46, 0.63, 0.54, 0.51, 0.58, 0.64, 0.60, 0.45, 0.36, 0.67))
+
+        val element3 = AASeriesElement()
+            .name("Base64 symbol (*)")
+            .data(arrayOf(0.46, 0.32, 0.53, 0.58, 0.86, 0.68, 0.85, 0.73, 0.69, 0.71, 0.91, 0.74, 0.60, 0.50, 0.39, 0.67, 0.55, 0.49, 0.65, 0.45, 0.64, 0.47, 0.63, 0.64))
+
+        val element4 = AASeriesElement()
+            .name("Custom symbol")
+            .data(arrayOf(0.60, 0.51, 0.52, 0.53, 0.64, 0.84, 0.65, 0.68, 0.63, 0.47, 0.72, 0.60, 0.65, 0.74, 0.66, 0.65, 0.71, 0.59, 0.65, 0.77, 0.52, 0.53, 0.58, 0.53))
+
+
+        val aaChartModel = AAChartModel()
+            .chartType(AAChartType.Areaspline) //图表类型
+            .title("") //图表主标题
+            .subtitle("") //图表副标题
+            .colorsTheme(arrayOf("#04d69f", "#1e90ff", "#ef476f", "#ffd066"))
+            .stacking(AAChartStackingType.Normal)
+            .yAxisTitle("") //设置 Y 轴标题
+            .yAxisVisible(false)
+            .markerRadius(0f)
+            .series(arrayOf(element1, element2, element3, element4))
+
+        val aaOptions = aaChartModel.aa_toAAOptions()
+        aaOptions.tooltip!!
+            .shared(true)
+            .useHTML(true)
+            .headerFormat("<small>{point.key} 摄氏度</small><table>")
+            .pointFormat("<tr><td style=\\\"color: {series.color}\\\">{series.name}: </td>"
+                    + "<td style=\\\"text-align: right\\\"><b>{point.y}EUR</b></td></tr>")
+            .footerFormat("</table>")
+            .valueDecimals(2)
+        return aaOptions
+    }
 
+    fun simpleGaugeChart(): AAOptions {
+        return AAOptions()
+            .chart(AAChart()
+                .type(AAChartType.Gauge))
+            .pane(AAPane()
+                .startAngle(-150f)
+                .endAngle(150f))
+            .yAxis(AAYAxis()
+                .min(0f)
+                .max(100f)
+                .plotBands(arrayOf(
+                    AAPlotBandsElement()
+                        .from(0f)
+                        .to(60f)
+                        .color("#FF0000"))))
+            .series(arrayOf(
+                AASeriesElement()
+                    .data(arrayOf(80))
+            ))
     }
-}
+
+    fun gaugeChartWithPlotBand(): AAOptions {
+        return AAOptions()
+            .chart(AAChart()
+                .type(AAChartType.Gauge))
+            .title(AATitle()
+                .text("速度仪"))
+            .pane(AAPane()
+                .startAngle(-150f)
+                .endAngle(150f))
+            .yAxis(AAYAxis()
+                .min(0f)
+                .max(200f)
+                .title(AATitle()
+                    .text("km/h"))
+                .plotBands(arrayOf(
+                    AAPlotBandsElement()
+                        .from(0f)
+                        .to(120f)
+                        .color("#ffc069"),
+                    AAPlotBandsElement()
+                        .from(120f)
+                        .to(160f)
+                        .color("#fe117c"),
+                    AAPlotBandsElement()
+                        .from(160f)
+                        .to(200f)
+                        .color("#06caf4")
+                )))
+            .series(arrayOf(
+                AASeriesElement()
+                    .data(arrayOf(80))
+            ))
+    }
+
+}

+ 1036 - 1041
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/chartcomposer/CustomStyleChartComposer.kt

@@ -32,1064 +32,1059 @@ import com.github.aachartmodel.aainfographics.aachartcreator.AAShadow
 import com.github.aachartmodel.aainfographics.aaoptionsmodel.*
 import com.github.aachartmodel.aainfographics.aatools.*
 
-class CustomStyleChartComposer  {
-
-    companion object {
-
-        fun configureColorfulChart(): AAChartModel {
-            val colorsNameArr = arrayOf(
-                "red",
-                "orange",
-                "yellow",
-                "green",
-                "cyan",
-                "blue",
-                "purple",
-                "gray",
-                "darkGray",
-                "lightGray",
-                "magenta",
-                "brown",
-                "black"
-            )
+object CustomStyleChartComposer  {
+
+    fun configureColorfulChart(): AAChartModel {
+        val colorsNameArr = arrayOf(
+            "red",
+            "orange",
+            "yellow",
+            "green",
+            "cyan",
+            "blue",
+            "purple",
+            "gray",
+            "darkGray",
+            "lightGray",
+            "magenta",
+            "brown",
+            "black"
+        )
+
+        val colorsArr = arrayOf<Any>(
+            AAColor.Red,
+            AAColor.Orange,
+            AAColor.Yellow,
+            AAColor.Green,
+            AAColor.Cyan,
+            AAColor.Blue,
+            AAColor.Purple,
+            AAColor.Gray,
+            AAColor.DarkGray,
+            AAColor.LightGray,
+            AAColor.Magenta,
+            AAColor.Brown,
+            AAColor.Black,
+        )
+
+        return AAChartModel()
+            .chartType(AAChartType.Bar)
+            .animationType(AAChartAnimationType.Bounce)
+            .title("Colorful Chart")
+            .subtitle("use AAColor to get color string")
+            .dataLabelsEnabled(false)
+            .categories(colorsNameArr)
+            .colorsTheme(colorsArr)
+            .stacking(AAChartStackingType.Percent)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Tokyo")
+                    .data(arrayOf(149.9, 171.5, 106.4, 129.2, 144.0, 176.0, 135.6, 188.5, 276.4, 214.1, 95.6, 54.4))
+                    .colorByPoint(true)))
+    }
 
-            val colorsArr = arrayOf<Any>(
-                    AAColor.Red,
-                    AAColor.Orange,
-                    AAColor.Yellow,
-                    AAColor.Green,
-                    AAColor.Cyan,
-                    AAColor.Blue,
-                    AAColor.Purple,
-                    AAColor.Gray,
-                    AAColor.DarkGray,
-                    AAColor.LightGray,
-                    AAColor.Magenta,
-                    AAColor.Brown,
-                    AAColor.Black,
-            )
 
-            return AAChartModel()
-                .chartType(AAChartType.Bar)
-                .animationType(AAChartAnimationType.Bounce)
-                .title("Colorful Chart")
-                .subtitle("use AAColor to get color string")
-                .dataLabelsEnabled(false)
-                .categories(colorsNameArr)
-                .colorsTheme(colorsArr)
-                .stacking(AAChartStackingType.Percent)
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("Tokyo")
-                        .data(arrayOf(149.9, 171.5, 106.4, 129.2, 144.0, 176.0, 135.6, 188.5, 276.4, 214.1, 95.6, 54.4))
-                        .colorByPoint(true)))
-        }
-
-
-        fun configureColorfulGradientColorChart(): AAChartModel {
-            val gradientColorNamesArr = arrayOf(
-                "oceanBlue",
-                "sanguine",
-                "lusciousLime",
-                "purpleLake",
-                "freshPapaya",
-                "ultramarine",
-                "pinkSugar",
-                "lemonDrizzle",
-                "victoriaPurple",
-                "springGreens",
-                "mysticMauve",
-                "reflexSilver",
-                "newLeaf",
-                "cottonCandy",
-                "pixieDust",
-                "fizzyPeach",
-                "sweetDream",
-                "firebrick",
-                "wroughtIron",
-                "deepSea",
-                "coastalBreeze",
-                "eveningDelight",
-                "neonGlowColor",
-                "berrySmoothieColor"
-            )
+    fun configureColorfulGradientColorChart(): AAChartModel {
+        val gradientColorNamesArr = arrayOf(
+            "oceanBlue",
+            "sanguine",
+            "lusciousLime",
+            "purpleLake",
+            "freshPapaya",
+            "ultramarine",
+            "pinkSugar",
+            "lemonDrizzle",
+            "victoriaPurple",
+            "springGreens",
+            "mysticMauve",
+            "reflexSilver",
+            "newLeaf",
+            "cottonCandy",
+            "pixieDust",
+            "fizzyPeach",
+            "sweetDream",
+            "firebrick",
+            "wroughtIron",
+            "deepSea",
+            "coastalBreeze",
+            "eveningDelight",
+            "neonGlowColor",
+            "berrySmoothieColor"
+        )
+
+        val gradientColorArr = arrayOf<Any>(
+            AAGradientColor.OceanBlue,
+            AAGradientColor.Sanguine,
+            AAGradientColor.LusciousLime,
+            AAGradientColor.PurpleLake,
+            AAGradientColor.FreshPapaya,
+            AAGradientColor.Ultramarine,
+            AAGradientColor.PinkSugar,
+            AAGradientColor.LemonDrizzle,
+            AAGradientColor.VictoriaPurple,
+            AAGradientColor.SpringGreens,
+            AAGradientColor.MysticMauve,
+            AAGradientColor.ReflexSilver,
+            AAGradientColor.NewLeaf,
+            AAGradientColor.CottonCandy,
+            AAGradientColor.PixieDust,
+            AAGradientColor.FizzyPeach,
+            AAGradientColor.SweetDream,
+            AAGradientColor.Firebrick,
+            AAGradientColor.WroughtIron,
+            AAGradientColor.DeepSea,
+            AAGradientColor.CoastalBreeze,
+            AAGradientColor.EveningDelight,
+            AAGradientColor.NeonGlow,
+            AAGradientColor.BerrySmoothie
+        )
+
+        return AAChartModel()
+            .chartType(AAChartType.Bar)
+            .title("Colorful Column Chart")
+            .subtitle("single data array colorful column chart")
+            .categories(gradientColorNamesArr)
+            .colorsTheme(gradientColorArr)
+            .yAxisTitle("gradient color")
+            .stacking(AAChartStackingType.Percent)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Tokyo")
+                    .data(arrayOf(
+                        149.9, 171.5, 106.4, 129.2, 144.0, 176.0, 135.6, 188.5, 276.4, 214.1, 95.6, 54.4,
+                        149.9, 171.5, 106.4, 129.2, 144.0, 176.0, 135.6, 188.5, 276.4, 214.1, 95.6, 54.4))
+                    .colorByPoint(true)))
+    }
 
-            val gradientColorArr = arrayOf<Any>(
-                    AAGradientColor.OceanBlue,
-                    AAGradientColor.Sanguine,
-                    AAGradientColor.LusciousLime,
-                    AAGradientColor.PurpleLake,
-                    AAGradientColor.FreshPapaya,
-                    AAGradientColor.Ultramarine,
-                    AAGradientColor.PinkSugar,
-                    AAGradientColor.LemonDrizzle,
-                    AAGradientColor.VictoriaPurple,
-                    AAGradientColor.SpringGreens,
-                    AAGradientColor.MysticMauve,
-                    AAGradientColor.ReflexSilver,
-                    AAGradientColor.NewLeaf,
-                    AAGradientColor.CottonCandy,
-                    AAGradientColor.PixieDust,
-                    AAGradientColor.FizzyPeach,
-                    AAGradientColor.SweetDream,
-                    AAGradientColor.Firebrick,
-                    AAGradientColor.WroughtIron,
-                    AAGradientColor.DeepSea,
-                    AAGradientColor.CoastalBreeze,
-                    AAGradientColor.EveningDelight,
-                    AAGradientColor.NeonGlow,
-                    AAGradientColor.BerrySmoothie
-            )
+    fun configureDiscontinuousDataChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Column)
+            .title("Discontinuous Data Chart")
+            .yAxisTitle("")
+            .dataLabelsEnabled(true)
+            .tooltipEnabled(true)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Tokyo")
+                    .data(arrayOf(
+                        arrayOf<Any?>(6.9, 9.5, 14.5, 18.2, 21.5, null, null, null, null, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6)))
+                    .color(AAGradientColor.DeepSea)))
+    }
 
-            return AAChartModel()
-                .chartType(AAChartType.Bar)
-                .title("Colorful Column Chart")
-                .subtitle("single data array colorful column chart")
-                .categories(gradientColorNamesArr)
-                .colorsTheme(gradientColorArr)
-                .yAxisTitle("gradient color")
-                .stacking(AAChartStackingType.Percent)
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("Tokyo")
-                        .data(arrayOf(
-                            149.9, 171.5, 106.4, 129.2, 144.0, 176.0, 135.6, 188.5, 276.4, 214.1, 95.6, 54.4,
-                            149.9, 171.5, 106.4, 129.2, 144.0, 176.0, 135.6, 188.5, 276.4, 214.1, 95.6, 54.4))
-                        .colorByPoint(true)))
-        }
-
-        fun configureDiscontinuousDataChart(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Column)
-                .title("Discontinuous Data Chart")
-                .yAxisTitle("")
-                .dataLabelsEnabled(true)
-                .tooltipEnabled(true)
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("Tokyo")
-                        .data(arrayOf(
-                            arrayOf<Any?>(6.9, 9.5, 14.5, 18.2, 21.5, null, null, null, null, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6)))
-                        .color(AAGradientColor.DeepSea)))
-        }
-
-        fun configureColorfulColumnChart(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Column)
-                .title("Colorful Column Chart")
-                .subtitle("single data array colorful column chart")
-                .colorsTheme(arrayOf("#febc0f", "#FF14d4", "#0bf8f5", "#F33c52", "#1904dd"))
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("东京")
-                        .data(arrayOf(149.9, 171.5, 106.4, 129.2, 144.0, 176.0, 135.6, 188.5, 276.4, 214.1, 95.6, 54.4))
-                        .colorByPoint(true)))
-        }
-
-        fun configureNightingaleRoseChart(): AAChartModel {
-            return AAChartModel()
-                .title("南丁格尔玫瑰图")
-                .subtitle("极地图中的一种")
-                .yAxisTitle("cm")
-                .chartType(AAChartType.Column)
-                .xAxisVisible(false)//是否显示最外一层圆环
-                .yAxisVisible(true)//是否显示中间的多个圆环
-                .legendEnabled(false)//隐藏图例(底部可点按的小圆点)
-                .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"))
-                .dataLabelsEnabled(true)
-                .polar(true)//极地化图形
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("东京")
-                        .data(arrayOf(7.0, 6.9, 9.5, 9.6, 13.9, 14.5, 18.3, 18.2, 21.5, 25.2, 26.5, 23.3))))
-        }
-
-        fun configureChartWithShadowStyle(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Spline)
-                .title("")
-                .subtitle("")
-                .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"))
-                .yAxisTitle("")
-                .markerRadius(0f)
-                .yAxisLineWidth(0f)
-                .yAxisGridLineWidth(0f)
-                .legendEnabled(false)
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("Tokyo Hot")
-                        .lineWidth(9.0f)
-                        .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-                        .shadow(AAShadow()
-                            .offsetX(15.0f)
-                            .offsetY(15.0f)
-                            .opacity(0.2f)
-                            .width(8.0f)
-                            .color(AAColor.Red))))
-        }
-
-        fun configureColorfulGradientAreaChart(): AAChartModel {
-            val stopsArr: Array<Any> = arrayOf(
-                arrayOf(0.00, "#febc0f"),
-                arrayOf(0.50, "#FF14d4"),
-                arrayOf(1.00, "#0bf8f5")
-            )//颜色字符串设置支持十六进制类型和 rgba 类型
-
-            val linearGradientColor = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToLeft,
-                stopsArr
-            )
+    fun configureColorfulColumnChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Column)
+            .title("Colorful Column Chart")
+            .subtitle("single data array colorful column chart")
+            .colorsTheme(arrayOf("#febc0f", "#FF14d4", "#0bf8f5", "#F33c52", "#1904dd"))
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("东京")
+                    .data(arrayOf(149.9, 171.5, 106.4, 129.2, 144.0, 176.0, 135.6, 188.5, 276.4, 214.1, 95.6, 54.4))
+                    .colorByPoint(true)))
+    }
 
-            return AAChartModel()
-                .chartType(AAChartType.Areaspline)
-                .title("")
-                .subtitle("")
-                .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"))
-                .yAxisTitle("")
-                .markerRadius(0f)
-                .yAxisLineWidth(0f)
-                .yAxisGridLineWidth(0f)
-                .legendEnabled(false)
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("Tokyo Hot")
-                        .lineWidth(15.0f)
-                        .color(linearGradientColor)
-                        .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))))
-        }
-
-
-        fun configureColorfulGradientSplineChart(): AAChartModel {
-            val stopsArr:Array<Any> = arrayOf(
-                arrayOf(0.00, "#febc0f"),
-                arrayOf(0.25, "#FF14d4"),
-                arrayOf(0.50, "#0bf8f5"),
-                arrayOf(0.75, "#F33c52"),
-                arrayOf(1.00, "#1904dd")
-            )//颜色字符串设置支持十六进制类型和 rgba 类型
-            val linearGradientColor = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToLeft,
-                stopsArr
-            )
+    fun configureNightingaleRoseChart(): AAChartModel {
+        return AAChartModel()
+            .title("南丁格尔玫瑰图")
+            .subtitle("极地图中的一种")
+            .yAxisTitle("cm")
+            .chartType(AAChartType.Column)
+            .xAxisVisible(false)//是否显示最外一层圆环
+            .yAxisVisible(true)//是否显示中间的多个圆环
+            .legendEnabled(false)//隐藏图例(底部可点按的小圆点)
+            .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"))
+            .dataLabelsEnabled(true)
+            .polar(true)//极地化图形
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("东京")
+                    .data(arrayOf(7.0, 6.9, 9.5, 9.6, 13.9, 14.5, 18.3, 18.2, 21.5, 25.2, 26.5, 23.3))))
+    }
 
-            return AAChartModel()
-                .chartType(AAChartType.Spline)
-                .title("")
-                .subtitle("")
-                .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"))
-                .yAxisTitle("")
-                .markerRadius(0f)
-                .yAxisLineWidth(0f)
-                .yAxisGridLineWidth(0f)
-                .legendEnabled(false)
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("Tokyo Hot")
-                        .lineWidth(3f)
-                        .color(linearGradientColor)
-                        .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))))
-        }
-
-
-        fun configureGradientColorAreasplineChart(): AAChartModel {
-            val stopsArr:Array<Any> = arrayOf(
-                arrayOf(0, "rgba(2255,20,147,1)"), //深粉色, alpha 透明度 1
-                arrayOf(1, "rgba(255,105,180,0.1)")//热情的粉红, alpha 透明度 0.1
-            ) //颜色字符串设置支持十六进制类型和 rgba 类型
-
-            val linearGradientColor = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToBottom,
-                stopsArr
-            )
+    fun configureChartWithShadowStyle(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Spline)
+            .title("")
+            .subtitle("")
+            .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"))
+            .yAxisTitle("")
+            .markerRadius(0f)
+            .yAxisLineWidth(0f)
+            .yAxisGridLineWidth(0f)
+            .legendEnabled(false)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Tokyo Hot")
+                    .lineWidth(9.0f)
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+                    .shadow(AAShadow()
+                        .offsetX(15.0f)
+                        .offsetY(15.0f)
+                        .opacity(0.2f)
+                        .width(8.0f)
+                        .color(AAColor.Red))))
+    }
 
-            return AAChartModel()
-                .chartType(AAChartType.Areaspline)
-                .title("")
-                .subtitle("")
-                .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"))
-                .yAxisTitle("")
-                .markerRadius(8f)//marker点半径为8个像素
-                .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)//marker点为空心效果
-                .markerSymbol(AAChartSymbolType.Circle)//marker点为圆形点○
-                .yAxisLineWidth(0f)
-                .yAxisGridLineWidth(0f)
-                .legendEnabled(false)
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("Tokyo Hot")
-                        .lineWidth(5.0f)
-                        .color("rgba(220,20,60,1)")//猩红色, alpha 透明度 1
-                        .fillColor(linearGradientColor)
-                        .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))))
-        }
-
-        internal fun configureSpecialStyleMarkerOfSingleDataElementChart(): AAChartModel {
-            val stopsArr: Array<Any> = arrayOf(
-                arrayOf(0.00, "#febc0f"),
-                arrayOf(0.25, "#FF14d4"),
-                arrayOf(0.50, "#0bf8f5"),
-                arrayOf(0.75, "#F33c52"),
-                arrayOf(1.00, "#1904dd")
-            )//颜色字符串设置支持十六进制类型和 rgba 类型
-
-            val gradientColorDic1 = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToRight,
-                stopsArr
-            )
+    fun configureColorfulGradientAreaChart(): AAChartModel {
+        val stopsArr: Array<Any> = arrayOf(
+            arrayOf(0.00, "#febc0f"),
+            arrayOf(0.50, "#FF14d4"),
+            arrayOf(1.00, "#0bf8f5")
+        )//颜色字符串设置支持十六进制类型和 rgba 类型
+
+        val linearGradientColor = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToLeft,
+            stopsArr
+        )
+
+        return AAChartModel()
+            .chartType(AAChartType.Areaspline)
+            .title("")
+            .subtitle("")
+            .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"))
+            .yAxisTitle("")
+            .markerRadius(0f)
+            .yAxisLineWidth(0f)
+            .yAxisGridLineWidth(0f)
+            .legendEnabled(false)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Tokyo Hot")
+                    .lineWidth(15.0f)
+                    .color(linearGradientColor)
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))))
+    }
 
-            val singleSpecialData = AADataElement()
-                .marker(AAMarker()
-                    .radius(10f)//曲线连接点半径
-                    .symbol(AAChartSymbolType.Circle.value)//曲线点类型:"circle", "square", "diamond", "triangle","triangle-down",默认是"circle"
-                    .fillColor("#FFFFFF")//点的填充色(用来设置折线连接点的填充色)
-                    .lineWidth(5f)//外沿线的宽度(用来设置折线连接点的轮廓描边的宽度)
-                    .lineColor("#FF0000")//外沿线的颜色(用来设置折线连接点的轮廓描边颜色,当值为空字符串时,默认取数据点或数据列的颜色)
-                )
-                .y(26.5f)
-
-            return AAChartModel()
-                .chartType(AAChartType.Spline)
-                .title("")
-                .backgroundColor("#4b2b7f")
-                .yAxisTitle("")//设置Y轴标题
-                .dataLabelsEnabled(false)//是否显示值
-                .tooltipEnabled(true)
-                .markerRadius(0f)
-                .xAxisVisible(false)
-                .yAxisVisible(false)
-                .series(arrayOf(
-                    AASeriesElement()
-                        .name("Virtual Data")
-                        .lineWidth(9f)
-                        .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, singleSpecialData, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-                        .color(gradientColorDic1)))
-        }
-
-        internal fun configureSpecialStyleColumnOfSingleDataElementChart(): AAChartModel {
-            val singleSpecialData = AADataElement()
-                .color(AAGradientColor.FreshPapaya)
-                .y(49.5f)
-
-            return AAChartModel()
-                .chartType(AAChartType.Column)
-                .title("")
-                .yAxisTitle("")//设置Y轴标题
-                .dataLabelsEnabled(false)//是否显示值
-                .tooltipEnabled(false)
-                .markerRadius(0f)
-                .xAxisVisible(false)
-                .yAxisVisible(false)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("Virtual Data")
-                            .lineWidth(6f)
-                            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, singleSpecialData, 5.2, 26.5, 23.3, 26.5, 13.9, 9.6))
-                            .color(AAGradientColor.OceanBlue)
-                ))
-        }
-
-        internal fun configureAreaChartThreshold(): AAChartModel {
-            val gradientColorDic1 = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToBottom,
-                "rgba(30, 144, 255,1)", //DodgerBlue, alpha 透明度 1
-                "rgba(30, 144, 255,0.1)"//DodgerBlue, alpha 透明度 0.1
-            )
 
-            return AAChartModel()
-                .chartType(AAChartType.Area)
-                .title("")
-                .yAxisTitle("")//设置Y轴标题
-                .yAxisGridLineWidth(0f)
-                .categories(arrayOf("Jan", "Feb", "Mar", "Apr", "May", "Jun", "July", "Aug", "Spe", "Oct", "Nov", "Dec"))
-                .dataLabelsEnabled(false)//是否显示值
-                .markerRadius(8f)
-                .markerSymbol(AAChartSymbolType.Circle)
-                .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
-                .legendEnabled(false)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .threshold(-200f)
-                            .data(arrayOf(106.4, 129.2, 269.9, -100.5, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4))
-                            .lineWidth(6f)
-                            .color("rgba(30, 144, 255,1)")
-                            .fillColor(gradientColorDic1)))
-        }
-
-        //refer to online sample https://jshare.com.cn/github/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-marker-symbol/
-        internal fun customScatterChartMarkerSymbolContent(): AAChartModel {
-            val element1 = AASeriesElement()
-                .name("Predefined symbol")
-                .data(arrayOf(0.45, 0.43, 0.50, 0.55, 0.58, 0.62, 0.83, 0.39, 0.56, 0.67, 0.50, 0.34, 0.50, 0.67, 0.58, 0.29, 0.46, 0.23, 0.47, 0.46, 0.38, 0.56, 0.48, 0.36))
-                .marker(AAMarker()
-                    .symbol(predefinedSymbol1))
-
-            val element2 = AASeriesElement()
-                .name("Image symbol")
-                .data(arrayOf(0.38, 0.31, 0.32, 0.32, 0.64, 0.66, 0.86, 0.47, 0.52, 0.75, 0.52, 0.56, 0.54, 0.60, 0.46, 0.63, 0.54, 0.51, 0.58, 0.64, 0.60, 0.45, 0.36, 0.67))
-                .marker(AAMarker()
-                    .symbol(imageSymbol))
-
-            val element3 = AASeriesElement()
-                .name("Base64 symbol (*)")
-                .data(arrayOf(0.46, 0.32, 0.53, 0.58, 0.86, 0.68, 0.85, 0.73, 0.69, 0.71, 0.91, 0.74, 0.60, 0.50, 0.39, 0.67, 0.55, 0.49, 0.65, 0.45, 0.64, 0.47, 0.63, 0.64))
-                .marker(AAMarker()
-                    .symbol(base64Symbol))
-
-            val element4 = AASeriesElement()
-                .name("Custom symbol")
-                .data(arrayOf(0.60, 0.51, 0.52, 0.53, 0.64, 0.84, 0.65, 0.68, 0.63, 0.47, 0.72, 0.60, 0.65, 0.74, 0.66, 0.65, 0.71, 0.59, 0.65, 0.77, 0.52, 0.53, 0.58, 0.53))
-                .marker(AAMarker()
-                    .symbol(predefinedSymbol2))
-
-            return AAChartModel()
-                .chartType(AAChartType.Scatter)
-                .title("")
-                .subtitle("")
-                .yAxisTitle("")
-                .yAxisMax(3.5f)
-                .yAxisGridLineWidth(0f)
-                .stacking(AAChartStackingType.Normal)
-                .markerRadius(8f)
-                .series(arrayOf(element1, element2, element3, element4))
-        }
-
-        //refer to online sample https://jshare.com.cn/github/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-marker-symbol/
-        internal fun customLineChartMarkerSymbolContent(): AAChartModel {
-            val aaChartModel = customScatterChartMarkerSymbolContent()
-            aaChartModel.chartType(AAChartType.Line)
-            return aaChartModel
-        }
-
-        //三角形雷达图
-        internal fun configureTriangleRadarChart(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Area)
-                .title("")
-                .subtitle("")
-                .yAxisTitle("")
-                .yAxisMax(15.0f)
-                .yAxisGridLineWidth(0f)
-                .xAxisVisible(false)
-                .markerRadius(0f)
-                .polar(true)//是否极化图形
-                .series(arrayOf(
-                    AASeriesElement()
-                            .data(arrayOf(15.0, 15.0, 15.0)),
-                    AASeriesElement()
-                            .data(arrayOf(9.0, 9.0, 9.0)),
-                    AASeriesElement()
-                            .data(arrayOf(6.0, 6.0, 6.0)),
-                    AASeriesElement()
-                            .data(arrayOf(3.0, 3.0, 3.0))
-                    ))
-        }
-
-        //四边形雷达图
-        internal fun configureQuadrangleRadarChart(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Area)
-                .title("")
-                .subtitle("")
-                .yAxisTitle("")
-                .yAxisMax(15.0f)
-                .yAxisGridLineWidth(0f)
-                .xAxisVisible(false)
-                .markerRadius(0f)
-                .polar(true)//是否极化图形
-                .series(arrayOf(
-                        AASeriesElement()
-                            .data(arrayOf(15.0, 15.0, 15.0, 15.0)),
-                    AASeriesElement()
-                            .data(arrayOf(9.0, 9.0, 9.0, 9.0)),
-                    AASeriesElement()
-                            .data(arrayOf(6.0, 6.0, 6.0, 6.0)),
-                    AASeriesElement()
-                            .data(arrayOf(3.0, 3.0, 3.0, 3.0))
-                    ))
-        }
-
-        //五边形雷达图
-        internal fun configurePentagonRadarChart(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Area)
-                .title("")
-                .subtitle("")
-                .yAxisTitle("")
-                .yAxisMax(15.0f)
-                .yAxisGridLineWidth(0f)
-                .xAxisVisible(false)
-                .markerRadius(0f)
-                .polar(true)//是否极化图形
-                .series(arrayOf(
-                        AASeriesElement()
-                            .data(arrayOf(15.0, 15.0, 15.0, 15.0, 15.0)),
-                        AASeriesElement()
-                            .data(arrayOf(9.0, 9.0, 9.0, 9.0, 9.0)),
-                        AASeriesElement()
-                            .data(arrayOf(6.0, 6.0, 6.0, 6.0, 6.0)),
-                        AASeriesElement()
-                            .data(arrayOf(3.0, 3.0, 3.0, 3.0, 3.0))
-                ))
-        }
-
-        //六边形雷达图
-        internal fun configureHexagonRadarChart(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Area)
-                .title("")
-                .subtitle("")
-                .yAxisTitle("")
-                .yAxisMax(15.0f)
-                .yAxisGridLineWidth(0f)
-                .xAxisVisible(false)
-                .markerRadius(0f)
-                .polar(true)//是否极化图形
-                .series(arrayOf(
-                        AASeriesElement()
-                            .data(arrayOf(15.0, 15.0, 15.0, 15.0, 15.0, 15.0)),
-                    AASeriesElement()
-                            .data(arrayOf(9.0, 9.0, 9.0, 9.0, 9.0, 9.0)),
-                    AASeriesElement()
-                            .data(arrayOf(6.0, 6.0, 6.0, 6.0, 6.0, 6.0)),
-                    AASeriesElement()
-                            .data(arrayOf(3.0, 3.0, 3.0, 3.0, 3.0, 3.0))
-                ))
-        }
-
-
-        fun adjustYAxisMaxAndMinValues(): AAChartModel {
-            val categoriesArr = arrayOf(
-                "孤岛危机",
-                "使命召唤",
-                "荣誉勋章",
-                "狙击精英",
-                "神秘海域",
-                "最后生还者",
-                "巫师3狂猎",
-                "对马之魂",
-                "蝙蝠侠阿甘骑士",
-                "地狱边境",
-                "闪客",
-                "忍者之印"
-            )
-            return AAChartModel()
-                .chartType(AAChartType.Areaspline)
-                .legendEnabled(false)
-                .yAxisVisible(true)
-                .markerRadius(6f)
-                .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
-                .zoomType(AAChartZoomType.XY)
-                .categories(categoriesArr)
-                .yAxisMin(2.0f)
-                .yAxisMax(45.4f)
-                .xAxisTickInterval(2)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("体重")
-                            .color("#2494F3")
-                            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-                ))
-        }
-
-        fun customSpecialStyleDataLabelOfSingleDataElementChart(): AAChartModel {
-            val redStopsArr = arrayOf(
-                arrayOf(0.0, AARgba(255, 0, 0, 0.6f)),
-                arrayOf(0.5, AARgba(255, 0, 0, 0.0f)),
-                arrayOf(1.0, AARgba(255, 0, 0, 0.0f))
-                )
-            val gradientColorDic1= AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToTop,
-                AARgba(255, 215, 0, 0.1f),
-                AARgba(255, 215, 0, 0.6f)
-            )
-            val formatStr =
-                "<img src=\"https://www.highcharts.com/samples/graphics/sun.png\">" +
-                        "<span style=\"color:#FFFFFF;font-weight:thin;font-size:25px\">{y}</span>" +
-                        "<span style=\"color:#FFFFFF;font-weight:thin;font-size:17px\"> m</span>"
-            val singleSpecialData = AADataElement()
-                .dataLabels(
-                    AADataLabels()
-                        .enabled(true)
-                        .useHTML(true)
-                        .format(formatStr)
-                        .style(AAStyle()
-                                .fontWeight(AAChartFontWeightType.Bold)
-                                .color(AAColor.White)
-                                .fontSize(16f))
-                        .y(-35f)
-                        .align(AAChartAlignType.Center)
-                        .verticalAlign(AAChartVerticalAlignType.Top)
-                        .overflow("none")
-                        .crop(false))
-                .y(26.5f)
-
-            return AAChartModel()
-                .chartType(AAChartType.Areaspline)
-                .backgroundColor("#4b2b7f")
-                .dataLabelsEnabled(false) //是否显示值
-                .tooltipEnabled(true)
-                .markerRadius(0f)
-                .xAxisVisible(false)
-                .yAxisVisible(false)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("Virtual Data")
-                            .lineWidth(6f)
-                            .color("rgba(255,215,0,1)")
-                            .fillColor(gradientColorDic1) // gold color, alpha: 1.0
-                            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, singleSpecialData, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))))
-        }
-
-        fun customBarChartHoverColorAndSelectColor(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Bar)
-                .title("Custom Bar Chart select color")
-                .yAxisReversed(true)
-                .xAxisReversed(true)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("ElementOne")
-                            .data(arrayOf(211, 183, 157, 133, 111, 91, 73, 57, 43, 31, 21, 13, 7, 3))
-                            .allowPointSelect(true)
-                            .states(AAStates()
-                                    .hover(AAHover()
-                                            .color("rgba(220,20,60,1)")) //猩红色, alpha 透明度 1
-                                    .select(AASelect()
-                                            .color(AAColor.Red)))))
-        }
-
-        fun customChartHoverAndSelectHaloStyle(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Line)
-                .title("Custom Chart Hover And Select Halo Style")
-                .colorsTheme(arrayOf(AAColor.Red))
-                .yAxisReversed(true)
-                .xAxisReversed(true)
-                .markerRadius(20f)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("ElementOne")
-                            .data(arrayOf(211, 183, 157, 133, 111, 91, 73, 57, 43, 31, 21, 13, 7, 3))
-                            .allowPointSelect(true)
-                            .states(AAStates()
-                                    .hover(AAHover()
-                                            .halo(AAHalo()
-                                                    .size(130f)
-                                                    .opacity(0.8f)
-                                                    .attributes(mapOf(
-                                                        "stroke-width" to 50,
-                                                        "fill" to "#00BFFF",
-                                                        "stroke" to "#00FA9A"
-                                                    ))))
-                                    .select(AASelect()
-                                            .halo(AAHalo()
-                                                    .size(130f)
-                                                    .opacity(1.0f)
-                                                    .attributes(mapOf(
-                                                        "stroke-width" to 150,
-                                                        "fill" to AARgba(138, 43, 226, 1f),
-                                                        "stroke" to AARgba(30, 144, 255, 1f)
-                                                    )))))))
-        }
-
-        fun customSplineChartMarkerStatesHoverStyle(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Areaspline)
-                .title("Custom Spline Chart Marker States Hover Style")
-                .categories(arrayOf(
-                        "一月", "二月", "三月", "四月", "五月", "六月",
-                        "七月", "八月", "九月", "十月", "十一月", "十二月"))
-                .markerRadius(8.0f) //marker点半径为8个像素
-                .yAxisLineWidth(0f)
-                .yAxisGridLineWidth(0f)
-                .legendEnabled(false)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("Tokyo Hot")
-                            .lineWidth(5.0f)
-                            .color("rgba(220,20,60,1)") //猩红色, alpha 透明度 1
-                            .marker(AAMarker()
-                                    .states(AAMarkerStates()
-                                            .hover(AAMarkerHover()
-                                                    .fillColor(AAColor.White)
-                                                    .radius(40f)
-                                                    .lineColor(AAColor.Green)
-                                                    .lineWidth(20f))))
-                            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))))
-        }
-
-
-        //Issue: https://github.com/AAChartModel/AAChartKit/issues/827
-        fun customNormalStackingChartDataLabelsContentAndStyle(): AAChartModel {
-            val categories = arrayOf(
-                "孤岛危机",
-                "使命召唤",
-                "荣誉勋章",
-                "狙击精英",
-                "神秘海域",
-                "最后生还者",
-                "巫师3狂猎",
-                "对马之魂",
-                "死亡搁浅",
-                "地狱边境",
-                "闪客",
-                "忍者之印"
-            )
-            val colorsTheme = arrayOf<Any>(
-                "#fe117c",
-                "#ffc069",
-                "#06caf4",
-                "#7dffc0"
+    fun configureColorfulGradientSplineChart(): AAChartModel {
+        val stopsArr:Array<Any> = arrayOf(
+            arrayOf(0.00, "#febc0f"),
+            arrayOf(0.25, "#FF14d4"),
+            arrayOf(0.50, "#0bf8f5"),
+            arrayOf(0.75, "#F33c52"),
+            arrayOf(1.00, "#1904dd")
+        )//颜色字符串设置支持十六进制类型和 rgba 类型
+        val linearGradientColor = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToLeft,
+            stopsArr
+        )
+
+        return AAChartModel()
+            .chartType(AAChartType.Spline)
+            .title("")
+            .subtitle("")
+            .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"))
+            .yAxisTitle("")
+            .markerRadius(0f)
+            .yAxisLineWidth(0f)
+            .yAxisGridLineWidth(0f)
+            .legendEnabled(false)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Tokyo Hot")
+                    .lineWidth(3f)
+                    .color(linearGradientColor)
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))))
+    }
+
+
+    fun configureGradientColorAreasplineChart(): AAChartModel {
+        val stopsArr:Array<Any> = arrayOf(
+            arrayOf(0, "rgba(2255,20,147,1)"), //深粉色, alpha 透明度 1
+            arrayOf(1, "rgba(255,105,180,0.1)")//热情的粉红, alpha 透明度 0.1
+        ) //颜色字符串设置支持十六进制类型和 rgba 类型
+
+        val linearGradientColor = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToBottom,
+            stopsArr
+        )
+
+        return AAChartModel()
+            .chartType(AAChartType.Areaspline)
+            .title("")
+            .subtitle("")
+            .categories(arrayOf("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"))
+            .yAxisTitle("")
+            .markerRadius(8f)//marker点半径为8个像素
+            .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)//marker点为空心效果
+            .markerSymbol(AAChartSymbolType.Circle)//marker点为圆形点○
+            .yAxisLineWidth(0f)
+            .yAxisGridLineWidth(0f)
+            .legendEnabled(false)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Tokyo Hot")
+                    .lineWidth(5.0f)
+                    .color("rgba(220,20,60,1)")//猩红色, alpha 透明度 1
+                    .fillColor(linearGradientColor)
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))))
+    }
+
+    internal fun configureSpecialStyleMarkerOfSingleDataElementChart(): AAChartModel {
+        val stopsArr: Array<Any> = arrayOf(
+            arrayOf(0.00, "#febc0f"),
+            arrayOf(0.25, "#FF14d4"),
+            arrayOf(0.50, "#0bf8f5"),
+            arrayOf(0.75, "#F33c52"),
+            arrayOf(1.00, "#1904dd")
+        )//颜色字符串设置支持十六进制类型和 rgba 类型
+
+        val gradientColorDic1 = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToRight,
+            stopsArr
+        )
+
+        val singleSpecialData = AADataElement()
+            .marker(AAMarker()
+                .radius(10f)//曲线连接点半径
+                .symbol(AAChartSymbolType.Circle.value)//曲线点类型:"circle", "square", "diamond", "triangle","triangle-down",默认是"circle"
+                .fillColor("#FFFFFF")//点的填充色(用来设置折线连接点的填充色)
+                .lineWidth(5f)//外沿线的宽度(用来设置折线连接点的轮廓描边的宽度)
+                .lineColor("#FF0000")//外沿线的颜色(用来设置折线连接点的轮廓描边颜色,当值为空字符串时,默认取数据点或数据列的颜色)
             )
+            .y(26.5f)
+
+        return AAChartModel()
+            .chartType(AAChartType.Spline)
+            .title("")
+            .backgroundColor("#4b2b7f")
+            .yAxisTitle("")//设置Y轴标题
+            .dataLabelsEnabled(false)//是否显示值
+            .tooltipEnabled(true)
+            .markerRadius(0f)
+            .xAxisVisible(false)
+            .yAxisVisible(false)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Virtual Data")
+                    .lineWidth(9f)
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, singleSpecialData, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+                    .color(gradientColorDic1)))
+    }
 
-            val aaDataLabels = AADataLabels()
-                .y(-10f)
-                .format("{total} mm")
-                .color(AAColor.Red)
-                .shape("callout")
-                .backgroundColor(AAColor.White)
-                .borderColor(AAColor.Red)
-                .borderRadius(1f)
-                .borderWidth(1f)
-
-            val element1 = AASeriesElement()
-                .name("2017")
-                .dataLabels(aaDataLabels)
-                .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-            val element2 = AASeriesElement()
-                .name("2018")
-                .data(arrayOf(0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5))
-            val element3 = AASeriesElement()
-                .name("2019")
-                .data(arrayOf(0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0))
-            val element4 = AASeriesElement()
-                .name("2020")
-                .data(arrayOf(3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8))
-
-            return AAChartModel()
-                .chartType(AAChartType.Column)
-                .stacking(AAChartStackingType.Normal)
-                .yAxisGridLineWidth(0f)
-                .markerRadius(0f)
-                .categories(categories)
-                .colorsTheme(colorsTheme)
-                .series(arrayOf(element1, element2, element3, element4))
-        }
-
-        //Issue: https://github.com/AAChartModel/AAChartKit-Swift/issues/190
-        //API Doc: https://api.highcharts.com.cn/highcharts#series%3Cpyramid%3E.reversed
-        fun upsideDownPyramidChart(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Pyramid)
-                .yAxisTitle("摄氏度")
-                .inverted(true)
-                .legendEnabled(true)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("2020")
-                            .reversed(true)
-                            .data(arrayOf(
-                                    arrayOf("Swift",      15654),
-                                    arrayOf("Objective-C", 4064),
-                                    arrayOf("JavaScript",  1987),
-                                    arrayOf("GO",           976),
-                                    arrayOf("Python",       846)))))
-        }
-
-        //Issue: https://github.com/AAChartModel/AAChartKit/issues/888
-        fun doubleLayerPieChart(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Pie)
-                .title("浏览器市场占比历史对比")
-                .subtitle("无任何可靠依据的虚拟数据")
-                .dataLabelsEnabled(true) //是否直接显示扇形图数据
-                .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)
+    internal fun configureSpecialStyleColumnOfSingleDataElementChart(): AAChartModel {
+        val singleSpecialData = AADataElement()
+            .color(AAGradientColor.FreshPapaya)
+            .y(49.5f)
+
+        return AAChartModel()
+            .chartType(AAChartType.Column)
+            .title("")
+            .yAxisTitle("")//设置Y轴标题
+            .dataLabelsEnabled(false)//是否显示值
+            .tooltipEnabled(false)
+            .markerRadius(0f)
+            .xAxisVisible(false)
+            .yAxisVisible(false)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Virtual Data")
+                    .lineWidth(6f)
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, singleSpecialData, 5.2, 26.5, 23.3, 26.5, 13.9, 9.6))
+                    .color(AAGradientColor.OceanBlue)
+            ))
+    }
+
+    internal fun configureAreaChartThreshold(): AAChartModel {
+        val gradientColorDic1 = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToBottom,
+            "rgba(30, 144, 255,1)", //DodgerBlue, alpha 透明度 1
+            "rgba(30, 144, 255,0.1)"//DodgerBlue, alpha 透明度 0.1
+        )
+
+        return AAChartModel()
+            .chartType(AAChartType.Area)
+            .title("")
+            .yAxisTitle("")//设置Y轴标题
+            .yAxisGridLineWidth(0f)
+            .categories(arrayOf("Jan", "Feb", "Mar", "Apr", "May", "Jun", "July", "Aug", "Spe", "Oct", "Nov", "Dec"))
+            .dataLabelsEnabled(false)//是否显示值
+            .markerRadius(8f)
+            .markerSymbol(AAChartSymbolType.Circle)
+            .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
+            .legendEnabled(false)
+            .series(arrayOf(
+                AASeriesElement()
+                    .threshold(-200f)
+                    .data(arrayOf(106.4, 129.2, 269.9, -100.5, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4))
+                    .lineWidth(6f)
+                    .color("rgba(30, 144, 255,1)")
+                    .fillColor(gradientColorDic1)))
+    }
+
+    //refer to online sample https://jshare.com.cn/github/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-marker-symbol/
+    internal fun customScatterChartMarkerSymbolContent(): AAChartModel {
+        val element1 = AASeriesElement()
+            .name("Predefined symbol")
+            .data(arrayOf(0.45, 0.43, 0.50, 0.55, 0.58, 0.62, 0.83, 0.39, 0.56, 0.67, 0.50, 0.34, 0.50, 0.67, 0.58, 0.29, 0.46, 0.23, 0.47, 0.46, 0.38, 0.56, 0.48, 0.36))
+            .marker(AAMarker()
+                .symbol(predefinedSymbol1))
+
+        val element2 = AASeriesElement()
+            .name("Image symbol")
+            .data(arrayOf(0.38, 0.31, 0.32, 0.32, 0.64, 0.66, 0.86, 0.47, 0.52, 0.75, 0.52, 0.56, 0.54, 0.60, 0.46, 0.63, 0.54, 0.51, 0.58, 0.64, 0.60, 0.45, 0.36, 0.67))
+            .marker(AAMarker()
+                .symbol(imageSymbol))
+
+        val element3 = AASeriesElement()
+            .name("Base64 symbol (*)")
+            .data(arrayOf(0.46, 0.32, 0.53, 0.58, 0.86, 0.68, 0.85, 0.73, 0.69, 0.71, 0.91, 0.74, 0.60, 0.50, 0.39, 0.67, 0.55, 0.49, 0.65, 0.45, 0.64, 0.47, 0.63, 0.64))
+            .marker(AAMarker()
+                .symbol(base64Symbol))
+
+        val element4 = AASeriesElement()
+            .name("Custom symbol")
+            .data(arrayOf(0.60, 0.51, 0.52, 0.53, 0.64, 0.84, 0.65, 0.68, 0.63, 0.47, 0.72, 0.60, 0.65, 0.74, 0.66, 0.65, 0.71, 0.59, 0.65, 0.77, 0.52, 0.53, 0.58, 0.53))
+            .marker(AAMarker()
+                .symbol(predefinedSymbol2))
+
+        return AAChartModel()
+            .chartType(AAChartType.Scatter)
+            .title("")
+            .subtitle("")
+            .yAxisTitle("")
+            .yAxisMax(3.5f)
+            .yAxisGridLineWidth(0f)
+            .stacking(AAChartStackingType.Normal)
+            .markerRadius(8f)
+            .series(arrayOf(element1, element2, element3, element4))
+    }
+
+    //refer to online sample https://jshare.com.cn/github/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-marker-symbol/
+    internal fun customLineChartMarkerSymbolContent(): AAChartModel {
+        val aaChartModel = customScatterChartMarkerSymbolContent()
+        aaChartModel.chartType(AAChartType.Line)
+        return aaChartModel
+    }
+
+    //三角形雷达图
+    internal fun configureTriangleRadarChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Area)
+            .title("")
+            .subtitle("")
+            .yAxisTitle("")
+            .yAxisMax(15.0f)
+            .yAxisGridLineWidth(0f)
+            .xAxisVisible(false)
+            .markerRadius(0f)
+            .polar(true)//是否极化图形
+            .series(arrayOf(
+                AASeriesElement()
+                    .data(arrayOf(15.0, 15.0, 15.0)),
+                AASeriesElement()
+                    .data(arrayOf(9.0, 9.0, 9.0)),
+                AASeriesElement()
+                    .data(arrayOf(6.0, 6.0, 6.0)),
+                AASeriesElement()
+                    .data(arrayOf(3.0, 3.0, 3.0))
+            ))
+    }
+
+    //四边形雷达图
+    internal fun configureQuadrangleRadarChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Area)
+            .title("")
+            .subtitle("")
+            .yAxisTitle("")
+            .yAxisMax(15.0f)
+            .yAxisGridLineWidth(0f)
+            .xAxisVisible(false)
+            .markerRadius(0f)
+            .polar(true)//是否极化图形
+            .series(arrayOf(
+                AASeriesElement()
+                    .data(arrayOf(15.0, 15.0, 15.0, 15.0)),
+                AASeriesElement()
+                    .data(arrayOf(9.0, 9.0, 9.0, 9.0)),
+                AASeriesElement()
+                    .data(arrayOf(6.0, 6.0, 6.0, 6.0)),
+                AASeriesElement()
+                    .data(arrayOf(3.0, 3.0, 3.0, 3.0))
+            ))
+    }
+
+    //五边形雷达图
+    internal fun configurePentagonRadarChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Area)
+            .title("")
+            .subtitle("")
+            .yAxisTitle("")
+            .yAxisMax(15.0f)
+            .yAxisGridLineWidth(0f)
+            .xAxisVisible(false)
+            .markerRadius(0f)
+            .polar(true)//是否极化图形
+            .series(arrayOf(
+                AASeriesElement()
+                    .data(arrayOf(15.0, 15.0, 15.0, 15.0, 15.0)),
+                AASeriesElement()
+                    .data(arrayOf(9.0, 9.0, 9.0, 9.0, 9.0)),
+                AASeriesElement()
+                    .data(arrayOf(6.0, 6.0, 6.0, 6.0, 6.0)),
+                AASeriesElement()
+                    .data(arrayOf(3.0, 3.0, 3.0, 3.0, 3.0))
+            ))
+    }
+
+    //六边形雷达图
+    internal fun configureHexagonRadarChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Area)
+            .title("")
+            .subtitle("")
+            .yAxisTitle("")
+            .yAxisMax(15.0f)
+            .yAxisGridLineWidth(0f)
+            .xAxisVisible(false)
+            .markerRadius(0f)
+            .polar(true)//是否极化图形
+            .series(arrayOf(
+                AASeriesElement()
+                    .data(arrayOf(15.0, 15.0, 15.0, 15.0, 15.0, 15.0)),
+                AASeriesElement()
+                    .data(arrayOf(9.0, 9.0, 9.0, 9.0, 9.0, 9.0)),
+                AASeriesElement()
+                    .data(arrayOf(6.0, 6.0, 6.0, 6.0, 6.0, 6.0)),
+                AASeriesElement()
+                    .data(arrayOf(3.0, 3.0, 3.0, 3.0, 3.0, 3.0))
+            ))
+    }
+
+
+    fun adjustYAxisMaxAndMinValues(): AAChartModel {
+        val categoriesArr = arrayOf(
+            "孤岛危机",
+            "使命召唤",
+            "荣誉勋章",
+            "狙击精英",
+            "神秘海域",
+            "最后生还者",
+            "巫师3狂猎",
+            "对马之魂",
+            "蝙蝠侠阿甘骑士",
+            "地狱边境",
+            "闪客",
+            "忍者之印"
+        )
+        return AAChartModel()
+            .chartType(AAChartType.Areaspline)
+            .legendEnabled(false)
+            .yAxisVisible(true)
+            .markerRadius(6f)
+            .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
+            .zoomType(AAChartZoomType.XY)
+            .categories(categoriesArr)
+            .yAxisMin(2.0f)
+            .yAxisMax(45.4f)
+            .xAxisTickInterval(2)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("体重")
+                    .color("#2494F3")
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+            ))
+    }
+
+    fun customSpecialStyleDataLabelOfSingleDataElementChart(): AAChartModel {
+        val redStopsArr = arrayOf(
+            arrayOf(0.0, AARgba(255, 0, 0, 0.6f)),
+            arrayOf(0.5, AARgba(255, 0, 0, 0.0f)),
+            arrayOf(1.0, AARgba(255, 0, 0, 0.0f))
+        )
+        val gradientColorDic1= AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToTop,
+            AARgba(255, 215, 0, 0.1f),
+            AARgba(255, 215, 0, 0.6f)
+        )
+        val formatStr =
+            "<img src=\"https://www.highcharts.com/samples/graphics/sun.png\">" +
+                    "<span style=\"color:#FFFFFF;font-weight:thin;font-size:25px\">{y}</span>" +
+                    "<span style=\"color:#FFFFFF;font-weight:thin;font-size:17px\"> m</span>"
+        val singleSpecialData = AADataElement()
+            .dataLabels(
+                AADataLabels()
+                    .enabled(true)
+                    .useHTML(true)
+                    .format(formatStr)
+                    .style(AAStyle()
+                        .fontWeight(AAChartFontWeightType.Bold)
+                        .color(AAColor.White)
+                        .fontSize(16f))
+                    .y(-35f)
+                    .align(AAChartAlignType.Center)
+                    .verticalAlign(AAChartVerticalAlignType.Top)
+                    .overflow("none")
+                    .crop(false))
+            .y(26.5f)
+
+        return AAChartModel()
+            .chartType(AAChartType.Areaspline)
+            .backgroundColor("#4b2b7f")
+            .dataLabelsEnabled(false) //是否显示值
+            .tooltipEnabled(true)
+            .markerRadius(0f)
+            .xAxisVisible(false)
+            .yAxisVisible(false)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Virtual Data")
+                    .lineWidth(6f)
+                    .color("rgba(255,215,0,1)")
+                    .fillColor(gradientColorDic1) // gold color, alpha: 1.0
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, singleSpecialData, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))))
+    }
+
+    fun customBarChartHoverColorAndSelectColor(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Bar)
+            .title("Custom Bar Chart select color")
+            .yAxisReversed(true)
+            .xAxisReversed(true)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("ElementOne")
+                    .data(arrayOf(211, 183, 157, 133, 111, 91, 73, 57, 43, 31, 21, 13, 7, 3))
+                    .allowPointSelect(true)
+                    .states(AAStates()
+                        .hover(AAHover()
+                            .color("rgba(220,20,60,1)")) //猩红色, alpha 透明度 1
+                        .select(AASelect()
+                            .color(AAColor.Red)))))
+    }
+
+    fun customChartHoverAndSelectHaloStyle(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Line)
+            .title("Custom Chart Hover And Select Halo Style")
+            .colorsTheme(arrayOf(AAColor.Red))
+            .yAxisReversed(true)
+            .xAxisReversed(true)
+            .markerRadius(20f)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("ElementOne")
+                    .data(arrayOf(211, 183, 157, 133, 111, 91, 73, 57, 43, 31, 21, 13, 7, 3))
+                    .allowPointSelect(true)
+                    .states(AAStates()
+                        .hover(AAHover()
+                            .halo(AAHalo()
+                                .size(130f)
+                                .opacity(0.8f)
+                                .attributes(mapOf(
+                                    "stroke-width" to 50,
+                                    "fill" to "#00BFFF",
+                                    "stroke" to "#00FA9A"
                                 ))))
-        }
-
-        //GitHub issue https://github.com/AAChartModel/AAChartKit/issues/903
-        fun disableSomeOfLinesMouseTrackingEffect(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Line) //图表类型
-                .tooltipValueSuffix("万元") //设置浮动提示框单位后缀
-                .yAxisTitle("万元") //设置 Y 轴标题
-                .categories(arrayOf(
-                        "一月", "二月", "三月", "四月", "五月", "六月",
-                        "七月", "八月", "九月", "十月", "十一月", "十二月"))
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("2017")
-                            .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)),
-                        AASeriesElement()
-                            .name("2018")
-                            .enableMouseTracking(false)
-                            .data(arrayOf(0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5)),
-                        AASeriesElement()
-                            .name("2019")
-                            .enableMouseTracking(false)
-                            .data(arrayOf(0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0)),
-                        AASeriesElement()
-                            .name("2020")
-                            .enableMouseTracking(false)
-                            .data(arrayOf(3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8))))
-        }
-
-
-        // GitHub issue https://github.com/AAChartModel/AAChartKit/issues/904
-        fun configureColorfulShadowSplineChart(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Spline)
-                .yAxisVisible(false)
-                .stacking(AAChartStackingType.Normal)
-                .colorsTheme(arrayOf("#1e90ff", "#ef476f", "#ffd066", "#04d69f"))
-                .markerSymbol(AAChartSymbolType.Circle)
-                .markerRadius(8.0f)
-                .markerSymbolStyle(AAChartSymbolStyleType.BorderBlank)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("2017")
-                            .lineWidth(5f)
-                            .data(arrayOf(0.45, 0.43, 0.50, 0.55, 0.58, 0.62, 0.83, 0.39, 0.56, 0.67, 0.50, 0.34, 0.50, 0.67, 0.58, 0.29, 0.46, 0.23, 0.47, 0.46, 0.38, 0.56, 0.48, 0.36))
-                            .shadow(AAShadow()
-                                    .offsetX(15.0f)
-                                    .offsetY(15.0f)
-                                    .opacity(0.2f)
-                                    .width(8.0f)
-                                    .color("#1e90ff")),
-                        AASeriesElement()
-                            .name("2018")
-                            .lineWidth(5f)
-                            .data(arrayOf(0.38, 0.31, 0.32, 0.32, 0.64, 0.66, 0.86, 0.47, 0.52, 0.75, 0.52, 0.56, 0.54, 0.60, 0.46, 0.63, 0.54, 0.51, 0.58, 0.64, 0.60, 0.45, 0.36, 0.67))
-                            .shadow(AAShadow()
-                                    .offsetX(15.0f)
-                                    .offsetY(15.0f)
-                                    .opacity(0.2f)
-                                    .width(8.0f)
-                                    .color("#ef476f")),
-                        AASeriesElement()
-                            .name("2019")
-                            .lineWidth(5f)
-                            .data(arrayOf(0.46, 0.32, 0.53, 0.58, 0.86, 0.68, 0.85, 0.73, 0.69, 0.71, 0.91, 0.74, 0.60, 0.50, 0.39, 0.67, 0.55, 0.49, 0.65, 0.45, 0.64, 0.47, 0.63, 0.64))
-                            .shadow(AAShadow()
-                                    .offsetX(15.0f)
-                                    .offsetY(15.0f)
-                                    .opacity(0.2f)
-                                    .width(8.0f)
-                                    .color("#ffd066")),
-                        AASeriesElement()
-                            .name("2020")
-                            .lineWidth(5f)
-                            .data(arrayOf(0.60, 0.51, 0.52, 0.53, 0.64, 0.84, 0.65, 0.68, 0.63, 0.47, 0.72, 0.60, 0.65, 0.74, 0.66, 0.65, 0.71, 0.59, 0.65, 0.77, 0.52, 0.53, 0.58, 0.53))
-                            .shadow(AAShadow()
-                                    .offsetX(15.0f)
-                                    .offsetY(15.0f)
-                                    .opacity(0.2f)
-                                    .width(8.0f)
-                                    .color("#04d69f"))))
-        }
-
-        // GitHub issue https://github.com/AAChartModel/AAChartKit/issues/905
-        fun configureColorfulDataLabelsStepLineChart(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Line)
-                .yAxisVisible(false)
-                .stacking(AAChartStackingType.Normal)
-                .colorsTheme(arrayOf("#1e90ff", "#ef476f", "#ffd066", "#04d69f"))
-                .markerSymbol(AAChartSymbolType.Circle)
-                .markerRadius(8.0f)
-                .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
-                .series(arrayOf(AASeriesElement()
-                            .name("2017")
-                            .step(true)
-                            .dataLabels(AADataLabels()
-                                    .style(AAStyle()
-                                            .color("#1e90ff")
-                                            .fontSize(11f)))
-                            .data(arrayOf(2.10, 2.54, 2.78, 3.62, 4.41, 4.09, 3.83, 4.47, 4.20, 3.94, 3.80, 3.58, 3.19, 4.30, 3.69, 3.52, 3.02, 3.30)),
-                        AASeriesElement()
-                            .name("2018")
-                            .step(true)
-                            .dataLabels(
-                                AADataLabels()
-                                    .style(AAStyle()
-                                            .color("#ef476f")
-                                            .fontSize(11f)))
-                            .data(arrayOf(1.56, 1.91, 2.45, 3.87, 3.24, 4.90, 4.61, 4.10, 4.17, 3.85, 4.17, 3.46, 3.46, 3.55, 3.50, 4.13, 2.58, 2.28)),
-                        AASeriesElement()
-                            .name("2019")
-                            .step(true)
-                            .dataLabels(
-                                AADataLabels()
-                                    .style(AAStyle()
-                                            .color("#ffd066")
-                                            .fontSize(11f)))
-                            .data(arrayOf(1.16, 1.67, 2.64, 2.86, 3.00, 3.21, 4.14, 4.07, 3.68, 3.11, 3.41, 3.25, 3.32, 3.07, 3.92, 3.05, 2.18, 3.24)),
-                        AASeriesElement()
-                            .name("2020")
-                            .step(true)
-                            .dataLabels(
-                                AADataLabels()
-                                    .style(AAStyle()
-                                            .color("#04d69f")
-                                            .fontSize(11f)))
-                            .data(arrayOf(5.59, 3.09, 4.09, 6.14, 5.33, 6.05, 5.71, 6.22, 6.56, 4.75, 5.27, 6.02, 5.22, 5.77, 6.19, 5.68, 4.33, 5.48))))
-        }
-
-
-        // GitHub issue https://github.com/AAChartModel/AAChartKit-Swift/issues/223
-        fun configureColorfulGradientColorAndColorfulDataLabelsStepAreaChart(): AAChartModel {
-            val blueStopsArr: Array<Any> = arrayOf(
-                arrayOf(0.0, AARgba(30, 144, 255, 1.0f)),
-                arrayOf(0.5, AARgba(30, 144, 255, 0.2f)),
-                arrayOf(1.0, AARgba(30, 144, 255, 0.0f))
-                )
-            val gradientBlueColorDic = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToBottom,
-                blueStopsArr
-            )
+                        .select(AASelect()
+                            .halo(AAHalo()
+                                .size(130f)
+                                .opacity(1.0f)
+                                .attributes(mapOf(
+                                    "stroke-width" to 150,
+                                    "fill" to AARgba(138, 43, 226, 1f),
+                                    "stroke" to AARgba(30, 144, 255, 1f)
+                                )))))))
+    }
 
-            val redStopsArr: Array<Any> = arrayOf(
-                arrayOf(0.0, AARgba(255, 0, 0, 1.0f)),
-                arrayOf(0.5, AARgba(255, 0, 0, 0.2f)),
-                arrayOf(1.0, AARgba(255, 0, 0, 0.0f))
-            )
-            val gradientRedColorDic = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToBottom,
-                redStopsArr
-            )
+    fun customSplineChartMarkerStatesHoverStyle(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Areaspline)
+            .title("Custom Spline Chart Marker States Hover Style")
+            .categories(arrayOf(
+                "一月", "二月", "三月", "四月", "五月", "六月",
+                "七月", "八月", "九月", "十月", "十一月", "十二月"))
+            .markerRadius(8.0f) //marker点半径为8个像素
+            .yAxisLineWidth(0f)
+            .yAxisGridLineWidth(0f)
+            .legendEnabled(false)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Tokyo Hot")
+                    .lineWidth(5.0f)
+                    .color("rgba(220,20,60,1)") //猩红色, alpha 透明度 1
+                    .marker(AAMarker()
+                        .states(AAMarkerStates()
+                            .hover(AAMarkerHover()
+                                .fillColor(AAColor.White)
+                                .radius(40f)
+                                .lineColor(AAColor.Green)
+                                .lineWidth(20f))))
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))))
+    }
 
-            val goldStopsArr: Array<Any> = arrayOf(
-                arrayOf(0.0, AARgba(255, 215, 0, 1.0f)),
-                arrayOf(0.5, AARgba(255, 215, 0, 0.2f)),
-                arrayOf(1.0, AARgba(255, 215, 0, 0.0f))
-            )
-            val gradientGoldColorDic = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToBottom,
-                goldStopsArr
-            )
 
-            val greenStopsArr: Array<Any> = arrayOf(
-                arrayOf(0.0, AARgba(50, 205, 50, 1.0f)),
-                arrayOf(0.5, AARgba(50, 205, 50, 0.2f)),
-                arrayOf(1.0, AARgba(50, 205, 50, 0.0f))
-            )
-            val gradientGreenColorDic = AAGradientColor.linearGradient(
-                AALinearGradientDirection.ToBottom,
-                greenStopsArr
-            )
-            
-            
-            return AAChartModel()
-                .chartType(AAChartType.Area)
-                .yAxisVisible(false)
-                .stacking(AAChartStackingType.Normal)
-                .colorsTheme(arrayOf("#1e90ff", "#ef476f", "#ffd066", "#04d69f"))
-                .markerSymbol(AAChartSymbolType.Circle)
-                .markerRadius(5f)
-                .dataLabelsEnabled(false)
-                .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("2017")
-                            .fillColor(gradientBlueColorDic)
-                            .lineWidth(6f)
-                            .step(true)
-                            .dataLabels(
-                                AADataLabels()
-                                    .style(AAStyle()
-                                            .color("#1e90ff")
-                                            .fontSize(11f)))
-                            .data(arrayOf(2.10, 2.54, 2.78, 3.62, 4.41, 4.09, 3.83, 4.47, 4.20, 3.94, 3.80, 3.58, 3.19, 4.30, 3.69, 3.52, 3.02, 3.30)),
-
-                    AASeriesElement()
-                            .name("2018")
-                            .fillColor(gradientRedColorDic)
-                            .lineWidth(6f)
-                            .step(true)
-                            .dataLabels(
-                                AADataLabels()
-                                    .style(AAStyle()
-                                            .color("#ef476f")
-                                            .fontSize(11f)))
-                            .data(arrayOf(1.56, 1.91, 2.45, 3.87, 3.24, 4.90, 4.61, 4.10, 4.17, 3.85, 4.17, 3.46, 3.46, 3.55, 3.50, 4.13, 2.58, 2.28)),
-
-                    AASeriesElement()
-                            .name("2019")
-                            .fillColor(gradientGoldColorDic)
-                            .lineWidth(6f)
-                            .step(true)
-                            .dataLabels(
-                                AADataLabels()
-                                    .style(AAStyle()
-                                            .color("#ffd066")
-                                            .fontSize(11f)))
-                            .data(arrayOf(1.16, 1.67, 2.64, 2.86, 3.00, 3.21, 4.14, 4.07, 3.68, 3.11, 3.41, 3.25, 3.32, 3.07, 3.92, 3.05, 2.18, 3.24)),
-
-                    AASeriesElement()
-                            .name("2020")
-                            .fillColor(gradientGreenColorDic)
-                            .lineWidth(6f)
-                            .step(true)
-                            .dataLabels(
-                                AADataLabels()
-                                    .style(AAStyle()
-                                            .color("#04d69f")
-                                            .fontSize(11f)))
-                            .data(arrayOf(5.59, 3.09, 4.09, 6.14, 5.33, 6.05, 5.71, 6.22, 6.56, 4.75, 5.27, 6.02, 5.22, 5.77, 6.19, 5.68, 4.33, 5.48))))
-        }
-
-        // Refer to https://api.highcharts.com.cn/highcharts#plotOptions.spline.marker.states.hover.enabled
-        fun disableSplineChartMarkerHoverEffect(): AAChartModel {
-            return AAChartModel()
-                .chartType(AAChartType.Spline)
-                .title("Disable Spline Chart Marker Hover Effect")
-                .categories(arrayOf(
-                        "一月", "二月", "三月", "四月", "五月", "六月",
-                        "七月", "八月", "九月", "十月", "十一月", "十二月"))
-                .markerRadius(0f) //marker点半径为0个像素
-                .yAxisLineWidth(0f)
-                .yAxisGridLineWidth(0f)
-                .legendEnabled(false)
-                .series(arrayOf(
-                        AASeriesElement()
-                            .name("Tokyo Hot")
-                            .lineWidth(5.0f)
-                            .color("rgba(220,20,60,1)") //猩红色, alpha 透明度 1
-                            .marker(AAMarker()
-                                    .states(AAMarkerStates()
-                                            .hover(AAMarkerHover()
-                                                    .enabled(false))))
-                            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
-                ))
-        }
+    //Issue: https://github.com/AAChartModel/AAChartKit/issues/827
+    fun customNormalStackingChartDataLabelsContentAndStyle(): AAChartModel {
+        val categories = arrayOf(
+            "孤岛危机",
+            "使命召唤",
+            "荣誉勋章",
+            "狙击精英",
+            "神秘海域",
+            "最后生还者",
+            "巫师3狂猎",
+            "对马之魂",
+            "死亡搁浅",
+            "地狱边境",
+            "闪客",
+            "忍者之印"
+        )
+        val colorsTheme = arrayOf<Any>(
+            "#fe117c",
+            "#ffc069",
+            "#06caf4",
+            "#7dffc0"
+        )
+
+        val aaDataLabels = AADataLabels()
+            .y(-10f)
+            .format("{total} mm")
+            .color(AAColor.Red)
+            .shape("callout")
+            .backgroundColor(AAColor.White)
+            .borderColor(AAColor.Red)
+            .borderRadius(1f)
+            .borderWidth(1f)
+
+        val element1 = AASeriesElement()
+            .name("2017")
+            .dataLabels(aaDataLabels)
+            .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+        val element2 = AASeriesElement()
+            .name("2018")
+            .data(arrayOf(0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5))
+        val element3 = AASeriesElement()
+            .name("2019")
+            .data(arrayOf(0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0))
+        val element4 = AASeriesElement()
+            .name("2020")
+            .data(arrayOf(3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8))
+
+        return AAChartModel()
+            .chartType(AAChartType.Column)
+            .stacking(AAChartStackingType.Normal)
+            .yAxisGridLineWidth(0f)
+            .markerRadius(0f)
+            .categories(categories)
+            .colorsTheme(colorsTheme)
+            .series(arrayOf(element1, element2, element3, element4))
+    }
+
+    //Issue: https://github.com/AAChartModel/AAChartKit-Swift/issues/190
+    //API Doc: https://api.highcharts.com.cn/highcharts#series%3Cpyramid%3E.reversed
+    fun upsideDownPyramidChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Pyramid)
+            .yAxisTitle("摄氏度")
+            .inverted(true)
+            .legendEnabled(true)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("2020")
+                    .reversed(true)
+                    .data(arrayOf(
+                        arrayOf("Swift",      15654),
+                        arrayOf("Objective-C", 4064),
+                        arrayOf("JavaScript",  1987),
+                        arrayOf("GO",           976),
+                        arrayOf("Python",       846)))))
+    }
+
+    //Issue: https://github.com/AAChartModel/AAChartKit/issues/888
+    fun doubleLayerPieChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Pie)
+            .title("浏览器市场占比历史对比")
+            .subtitle("无任何可靠依据的虚拟数据")
+            .dataLabelsEnabled(true) //是否直接显示扇形图数据
+            .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)
+                    ))))
+    }
+
+    //GitHub issue https://github.com/AAChartModel/AAChartKit/issues/903
+    fun disableSomeOfLinesMouseTrackingEffect(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Line) //图表类型
+            .tooltipValueSuffix("万元") //设置浮动提示框单位后缀
+            .yAxisTitle("万元") //设置 Y 轴标题
+            .categories(arrayOf(
+                "一月", "二月", "三月", "四月", "五月", "六月",
+                "七月", "八月", "九月", "十月", "十一月", "十二月"))
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("2017")
+                    .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)),
+                AASeriesElement()
+                    .name("2018")
+                    .enableMouseTracking(false)
+                    .data(arrayOf(0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5)),
+                AASeriesElement()
+                    .name("2019")
+                    .enableMouseTracking(false)
+                    .data(arrayOf(0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0)),
+                AASeriesElement()
+                    .name("2020")
+                    .enableMouseTracking(false)
+                    .data(arrayOf(3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8))))
+    }
+
 
+    // GitHub issue https://github.com/AAChartModel/AAChartKit/issues/904
+    fun configureColorfulShadowSplineChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Spline)
+            .yAxisVisible(false)
+            .stacking(AAChartStackingType.Normal)
+            .colorsTheme(arrayOf("#1e90ff", "#ef476f", "#ffd066", "#04d69f"))
+            .markerSymbol(AAChartSymbolType.Circle)
+            .markerRadius(8.0f)
+            .markerSymbolStyle(AAChartSymbolStyleType.BorderBlank)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("2017")
+                    .lineWidth(5f)
+                    .data(arrayOf(0.45, 0.43, 0.50, 0.55, 0.58, 0.62, 0.83, 0.39, 0.56, 0.67, 0.50, 0.34, 0.50, 0.67, 0.58, 0.29, 0.46, 0.23, 0.47, 0.46, 0.38, 0.56, 0.48, 0.36))
+                    .shadow(AAShadow()
+                        .offsetX(15.0f)
+                        .offsetY(15.0f)
+                        .opacity(0.2f)
+                        .width(8.0f)
+                        .color("#1e90ff")),
+                AASeriesElement()
+                    .name("2018")
+                    .lineWidth(5f)
+                    .data(arrayOf(0.38, 0.31, 0.32, 0.32, 0.64, 0.66, 0.86, 0.47, 0.52, 0.75, 0.52, 0.56, 0.54, 0.60, 0.46, 0.63, 0.54, 0.51, 0.58, 0.64, 0.60, 0.45, 0.36, 0.67))
+                    .shadow(AAShadow()
+                        .offsetX(15.0f)
+                        .offsetY(15.0f)
+                        .opacity(0.2f)
+                        .width(8.0f)
+                        .color("#ef476f")),
+                AASeriesElement()
+                    .name("2019")
+                    .lineWidth(5f)
+                    .data(arrayOf(0.46, 0.32, 0.53, 0.58, 0.86, 0.68, 0.85, 0.73, 0.69, 0.71, 0.91, 0.74, 0.60, 0.50, 0.39, 0.67, 0.55, 0.49, 0.65, 0.45, 0.64, 0.47, 0.63, 0.64))
+                    .shadow(AAShadow()
+                        .offsetX(15.0f)
+                        .offsetY(15.0f)
+                        .opacity(0.2f)
+                        .width(8.0f)
+                        .color("#ffd066")),
+                AASeriesElement()
+                    .name("2020")
+                    .lineWidth(5f)
+                    .data(arrayOf(0.60, 0.51, 0.52, 0.53, 0.64, 0.84, 0.65, 0.68, 0.63, 0.47, 0.72, 0.60, 0.65, 0.74, 0.66, 0.65, 0.71, 0.59, 0.65, 0.77, 0.52, 0.53, 0.58, 0.53))
+                    .shadow(AAShadow()
+                        .offsetX(15.0f)
+                        .offsetY(15.0f)
+                        .opacity(0.2f)
+                        .width(8.0f)
+                        .color("#04d69f"))))
+    }
+
+    // GitHub issue https://github.com/AAChartModel/AAChartKit/issues/905
+    fun configureColorfulDataLabelsStepLineChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Line)
+            .yAxisVisible(false)
+            .stacking(AAChartStackingType.Normal)
+            .colorsTheme(arrayOf("#1e90ff", "#ef476f", "#ffd066", "#04d69f"))
+            .markerSymbol(AAChartSymbolType.Circle)
+            .markerRadius(8.0f)
+            .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
+            .series(arrayOf(AASeriesElement()
+                .name("2017")
+                .step(true)
+                .dataLabels(AADataLabels()
+                    .style(AAStyle()
+                        .color("#1e90ff")
+                        .fontSize(11f)))
+                .data(arrayOf(2.10, 2.54, 2.78, 3.62, 4.41, 4.09, 3.83, 4.47, 4.20, 3.94, 3.80, 3.58, 3.19, 4.30, 3.69, 3.52, 3.02, 3.30)),
+                AASeriesElement()
+                    .name("2018")
+                    .step(true)
+                    .dataLabels(
+                        AADataLabels()
+                            .style(AAStyle()
+                                .color("#ef476f")
+                                .fontSize(11f)))
+                    .data(arrayOf(1.56, 1.91, 2.45, 3.87, 3.24, 4.90, 4.61, 4.10, 4.17, 3.85, 4.17, 3.46, 3.46, 3.55, 3.50, 4.13, 2.58, 2.28)),
+                AASeriesElement()
+                    .name("2019")
+                    .step(true)
+                    .dataLabels(
+                        AADataLabels()
+                            .style(AAStyle()
+                                .color("#ffd066")
+                                .fontSize(11f)))
+                    .data(arrayOf(1.16, 1.67, 2.64, 2.86, 3.00, 3.21, 4.14, 4.07, 3.68, 3.11, 3.41, 3.25, 3.32, 3.07, 3.92, 3.05, 2.18, 3.24)),
+                AASeriesElement()
+                    .name("2020")
+                    .step(true)
+                    .dataLabels(
+                        AADataLabels()
+                            .style(AAStyle()
+                                .color("#04d69f")
+                                .fontSize(11f)))
+                    .data(arrayOf(5.59, 3.09, 4.09, 6.14, 5.33, 6.05, 5.71, 6.22, 6.56, 4.75, 5.27, 6.02, 5.22, 5.77, 6.19, 5.68, 4.33, 5.48))))
     }
 
 
+    // GitHub issue https://github.com/AAChartModel/AAChartKit-Swift/issues/223
+    fun configureColorfulGradientColorAndColorfulDataLabelsStepAreaChart(): AAChartModel {
+        val blueStopsArr: Array<Any> = arrayOf(
+            arrayOf(0.0, AARgba(30, 144, 255, 1.0f)),
+            arrayOf(0.5, AARgba(30, 144, 255, 0.2f)),
+            arrayOf(1.0, AARgba(30, 144, 255, 0.0f))
+        )
+        val gradientBlueColorDic = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToBottom,
+            blueStopsArr
+        )
+
+        val redStopsArr: Array<Any> = arrayOf(
+            arrayOf(0.0, AARgba(255, 0, 0, 1.0f)),
+            arrayOf(0.5, AARgba(255, 0, 0, 0.2f)),
+            arrayOf(1.0, AARgba(255, 0, 0, 0.0f))
+        )
+        val gradientRedColorDic = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToBottom,
+            redStopsArr
+        )
+
+        val goldStopsArr: Array<Any> = arrayOf(
+            arrayOf(0.0, AARgba(255, 215, 0, 1.0f)),
+            arrayOf(0.5, AARgba(255, 215, 0, 0.2f)),
+            arrayOf(1.0, AARgba(255, 215, 0, 0.0f))
+        )
+        val gradientGoldColorDic = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToBottom,
+            goldStopsArr
+        )
+
+        val greenStopsArr: Array<Any> = arrayOf(
+            arrayOf(0.0, AARgba(50, 205, 50, 1.0f)),
+            arrayOf(0.5, AARgba(50, 205, 50, 0.2f)),
+            arrayOf(1.0, AARgba(50, 205, 50, 0.0f))
+        )
+        val gradientGreenColorDic = AAGradientColor.linearGradient(
+            AALinearGradientDirection.ToBottom,
+            greenStopsArr
+        )
+
+
+        return AAChartModel()
+            .chartType(AAChartType.Area)
+            .yAxisVisible(false)
+            .stacking(AAChartStackingType.Normal)
+            .colorsTheme(arrayOf("#1e90ff", "#ef476f", "#ffd066", "#04d69f"))
+            .markerSymbol(AAChartSymbolType.Circle)
+            .markerRadius(5f)
+            .dataLabelsEnabled(false)
+            .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("2017")
+                    .fillColor(gradientBlueColorDic)
+                    .lineWidth(6f)
+                    .step(true)
+                    .dataLabels(
+                        AADataLabels()
+                            .style(AAStyle()
+                                .color("#1e90ff")
+                                .fontSize(11f)))
+                    .data(arrayOf(2.10, 2.54, 2.78, 3.62, 4.41, 4.09, 3.83, 4.47, 4.20, 3.94, 3.80, 3.58, 3.19, 4.30, 3.69, 3.52, 3.02, 3.30)),
+
+                AASeriesElement()
+                    .name("2018")
+                    .fillColor(gradientRedColorDic)
+                    .lineWidth(6f)
+                    .step(true)
+                    .dataLabels(
+                        AADataLabels()
+                            .style(AAStyle()
+                                .color("#ef476f")
+                                .fontSize(11f)))
+                    .data(arrayOf(1.56, 1.91, 2.45, 3.87, 3.24, 4.90, 4.61, 4.10, 4.17, 3.85, 4.17, 3.46, 3.46, 3.55, 3.50, 4.13, 2.58, 2.28)),
+
+                AASeriesElement()
+                    .name("2019")
+                    .fillColor(gradientGoldColorDic)
+                    .lineWidth(6f)
+                    .step(true)
+                    .dataLabels(
+                        AADataLabels()
+                            .style(AAStyle()
+                                .color("#ffd066")
+                                .fontSize(11f)))
+                    .data(arrayOf(1.16, 1.67, 2.64, 2.86, 3.00, 3.21, 4.14, 4.07, 3.68, 3.11, 3.41, 3.25, 3.32, 3.07, 3.92, 3.05, 2.18, 3.24)),
+
+                AASeriesElement()
+                    .name("2020")
+                    .fillColor(gradientGreenColorDic)
+                    .lineWidth(6f)
+                    .step(true)
+                    .dataLabels(
+                        AADataLabels()
+                            .style(AAStyle()
+                                .color("#04d69f")
+                                .fontSize(11f)))
+                    .data(arrayOf(5.59, 3.09, 4.09, 6.14, 5.33, 6.05, 5.71, 6.22, 6.56, 4.75, 5.27, 6.02, 5.22, 5.77, 6.19, 5.68, 4.33, 5.48))))
+    }
+
+    // Refer to https://api.highcharts.com.cn/highcharts#plotOptions.spline.marker.states.hover.enabled
+    fun disableSplineChartMarkerHoverEffect(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Spline)
+            .title("Disable Spline Chart Marker Hover Effect")
+            .categories(arrayOf(
+                "一月", "二月", "三月", "四月", "五月", "六月",
+                "七月", "八月", "九月", "十月", "十一月", "十二月"))
+            .markerRadius(0f) //marker点半径为0个像素
+            .yAxisLineWidth(0f)
+            .yAxisGridLineWidth(0f)
+            .legendEnabled(false)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Tokyo Hot")
+                    .lineWidth(5.0f)
+                    .color("rgba(220,20,60,1)") //猩红色, alpha 透明度 1
+                    .marker(AAMarker()
+                        .states(AAMarkerStates()
+                            .hover(AAMarkerHover()
+                                .enabled(false))))
+                    .data(arrayOf(7.0, 6.9, 2.5, 14.5, 18.2, 21.5, 5.2, 26.5, 23.3, 45.3, 13.9, 9.6))
+            ))
+    }
+
 }

ファイルの差分が大きいため隠しています
+ 519 - 519
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/chartcomposer/CustomTooltipComposer.kt


+ 51 - 51
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/chartcomposer/MixedChartComposer.kt

@@ -32,9 +32,9 @@ import com.github.aachartmodel.aainfographics.aaoptionsmodel.*
 import com.github.aachartmodel.aainfographics.aatools.*
 import java.util.*
 
-class MixedChartComposer {
-companion object {
-    internal fun arearangeMixedLine(): AAChartModel {
+object MixedChartComposer {
+
+     fun arearangeMixedLine(): AAChartModel {
         return AAChartModel()
             .title("LANGUAGE MARKET SHARES JANUARY,2020 TO MAY")
             .subtitle("virtual data")
@@ -177,8 +177,8 @@ companion object {
                     .data(arrayOf(82.89,67.54,62.07,59.43,67.02,67.09,35.66,71.78,81.61,78.85,79.12,72.30))
                     .dataLabels(
                         AADataLabels()
-                        .enabled(true)
-                        .style(AAStyle()
+                            .enabled(true)
+                            .style(AAStyle()
                                 .color(AAColor.Red)
                                 .fontSize(11f))),
                 AASeriesElement()
@@ -186,21 +186,21 @@ companion object {
                     .data(arrayOf(198.66,330.81,151.95,160.12,222.56,229.05,128.53,250.91,224.47,473.99,126.85,260.50))
                     .dataLabels(
                         AADataLabels()
-                        .enabled(true)
-                        .style(AAStyle()
-                            .color("#000000")
-                            .fontSize(11f))),
+                            .enabled(true)
+                            .style(AAStyle()
+                                .color("#000000")
+                                .fontSize(11f))),
                 AASeriesElement()
                     .name("总量")
                     .type(AAChartType.Line)
                     .data(arrayOf(281.55,398.35,214.02,219.55,289.57,296.14,164.18,322.69,306.08,552.84,205.97,332.79))
                     .dataLabels(
                         AADataLabels()
-                        .enabled(true)
-                        .style(AAStyle()
-                            .color("#000000")
-                            .fontSize(15f)
-                            .fontWeight(AAChartFontWeightType.Bold)))))
+                            .enabled(true)
+                            .style(AAStyle()
+                                .color("#000000")
+                                .fontSize(15f)
+                                .fontWeight(AAChartFontWeightType.Bold)))))
     }
 
     fun dashStyleTypeMixedChart(): AAChartModel {
@@ -472,8 +472,8 @@ companion object {
                     .name("线性回归线")
                     .type(AAChartType.Line)
                     .data(arrayOf(
-                            arrayOf(0.014, 3.078),
-                            arrayOf(0.969, 4.655)))
+                        arrayOf(0.014, 3.078),
+                        arrayOf(0.969, 4.655)))
                     .color("#FF0000")))
     }
 
@@ -620,59 +620,59 @@ companion object {
             .type(AAChartType.Line)
             .data(arrayOf(3, 2.67, 3, 6.33, 3.33))
             .marker(AAMarker()
-                    .fillColor("#1E90FF")
-                    .lineWidth(2.0f)
-                    .lineColor(AAColor.White
-                    ))
+                .fillColor("#1E90FF")
+                .lineWidth(2.0f)
+                .lineColor(AAColor.White
+                ))
         val pieElement = AAPie()
             .type(AAChartType.Pie)
             .center(arrayOf(100, 80))
             .size(100f)
             .showInLegend(true)
             .dataLabels(AADataLabels()
-                    .enabled(false))
+                .enabled(false))
             .data(arrayOf(
-                    AADataElement()
-                        .name("Ada")
-                        .y(13.0f)
-                        .color(AAGradientColor.OceanBlue)
-                    ,
-                    AADataElement()
-                        .name("Bob")
-                        .y(13.0f)
-                        .color(AAGradientColor.Sanguine)
-                    ,
-                    AADataElement()
-                        .name("Coco")
-                        .y(13.0f)
-                        .color(AAGradientColor.PurpleLake)
-                ))
+                AADataElement()
+                    .name("Ada")
+                    .y(13.0f)
+                    .color(AAGradientColor.OceanBlue)
+                ,
+                AADataElement()
+                    .name("Bob")
+                    .y(13.0f)
+                    .color(AAGradientColor.Sanguine)
+                ,
+                AADataElement()
+                    .name("Coco")
+                    .y(13.0f)
+                    .color(AAGradientColor.PurpleLake)
+            ))
 
         return AAChartModel()
             .stacking(AAChartStackingType.Normal)
             .colorsTheme(arrayOf(
-                    AAGradientColor.OceanBlue,
-                    AAGradientColor.Sanguine,
-                    AAGradientColor.PurpleLake
-                ))
+                AAGradientColor.OceanBlue,
+                AAGradientColor.Sanguine,
+                AAGradientColor.PurpleLake
+            ))
             .dataLabelsEnabled(false)
             .series(arrayOf(
-                    columnElement1,
-                    columnElement2,
-                    columnElement3,
-                    lineElement,
-                    pieElement as AASeriesElement
-                ))
+                columnElement1,
+                columnElement2,
+                columnElement3,
+                lineElement,
+                pieElement as AASeriesElement
+            ))
     }
 
 
     //GitHub issue https://github.com/AAChartModel/AAChartKit/issues/921
     private fun configureNegativeColorMixedAreasplineChart(): AAChartModel? {
         val blueStopsArr: Array<Any> = arrayOf(
-                arrayOf(0.0, AARgba(30, 144, 255, 0.0f)),
-                arrayOf(0.5, AARgba(30, 144, 255, 0.0f)),
-                arrayOf(1.0, AARgba(30, 144, 255, 0.6f))
-            )
+            arrayOf(0.0, AARgba(30, 144, 255, 0.0f)),
+            arrayOf(0.5, AARgba(30, 144, 255, 0.0f)),
+            arrayOf(1.0, AARgba(30, 144, 255, 0.6f))
+        )
         val gradientBlueColorDic = AAGradientColor.linearGradient(
             AALinearGradientDirection.ToTop,
             blueStopsArr
@@ -713,4 +713,4 @@ companion object {
 
 
 }
-}
+

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

@@ -32,7 +32,7 @@ import com.github.aachartmodel.aainfographics.aaoptionsmodel.*
 import com.github.aachartmodel.aainfographics.aatools.*
 import java.util.*
 
-object SpecialChartComposer{
+object SpecialChartComposer {
 
 
 

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません