소스 검색

Optimize AAChartCore-Kotlin in many ways

An An 5 년 전
부모
커밋
7a4474c1e7

+ 4 - 4
app/src/main/java/com/aachartmodel/aainfographics/AAInfographicsLib/AAChartConfiger/AASeriesElement.kt

@@ -48,8 +48,8 @@ class AASeriesElement {
     private var threshold: Float? = null//The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor. default:0.
     private var negativeColor: String? = null// The color for the parts of the graph or points that are below the threshold
     private var dashStyle: String? = null
-    private var dataLabels: Dictionary<*, *>? = null
-    private var marker: Dictionary<*, *>? = null
+    private var dataLabels: AADataLabels? = null
+    private var marker: AAMarker? = null
     private var step: Any? = null
     private var colorByPoint: Boolean? = null
     private var zIndex: Int? = null
@@ -107,12 +107,12 @@ class AASeriesElement {
         return this
     }
 
-    fun dataLabels(prop: Dictionary<*, *>): AASeriesElement {
+    fun dataLabels(prop: AADataLabels): AASeriesElement {
         dataLabels = prop
         return this
     }
 
-    fun marker(prop: Dictionary<*, *>): AASeriesElement {
+    fun marker(prop: AAMarker): AASeriesElement {
         marker = prop
         return this
     }

+ 2 - 0
app/src/main/java/com/aachartmodel/aainfographics/AAInfographicsLib/AAOptionsModel/AAMarker.kt

@@ -8,6 +8,8 @@
  */
 package com.aachartmodel.aainfographics.AAInfographicsLib.AAOptionsModel
 
+import com.example.chartcorekotlin.AAChartConfiger.AAChartSymbolType
+
 class AAMarker {
     private var radius: Float? = null
     private var symbol: String? = null

+ 105 - 47
app/src/main/java/com/aachartmodel/aainfographics/ChartsDemo/BasicContent/CommonChartActivity.kt

@@ -32,6 +32,7 @@ import android.os.Bundle
 import android.widget.CompoundButton
 import android.widget.RadioGroup
 import android.widget.Switch
+import com.aachartmodel.aainfographics.AAInfographicsLib.AAOptionsModel.AAMarker
 import com.aachartmodel.aainfographics.R
 import com.aachartmodel.aainfographics.aainfographicsLib.aachartConfiger.AAChartView
 import com.aachartmodel.aainfographics.aainfographicsLib.aachartConfiger.AAMoveOverEventMessageModel
@@ -67,7 +68,7 @@ class CommonChartActivity : AppCompatActivity(), RadioGroup.OnCheckedChangeListe
         val position = intent.getIntExtra("position", 0)
         val chartTypeEnum = convertStringToEnum(chartType)
 
-        val aaChartModel = AAChartModel()
+        aaChartModel = AAChartModel()
             .chartType(chartTypeEnum)
             .title("title")
             .subtitle("subtitle")
@@ -90,63 +91,120 @@ class CommonChartActivity : AppCompatActivity(), RadioGroup.OnCheckedChangeListe
                 )
             )
 
-        if (position == 4 || position == 5) {
-            aaChartModel.series(arrayOf(
-                AASeriesElement()
-                    .name("Tokyo")
-                    .step(true)
-                    .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)),
-                AASeriesElement()
-                    .name("NewYork")
-                    .step(true)
-                    .data(arrayOf(83.6, 78.8, 188.5, 93.4, 106.0, 84.5, 105.0, 104.3, 131.2, 153.5, 226.6, 192.3)),
-                AASeriesElement()
-                    .name("London")
-                    .step(true)
-                    .data(arrayOf(48.9, 38.8, 19.3, 41.4, 47.0, 28.3, 59.0, 69.6, 52.4, 65.2, 53.3, 72.2))
-            )
-            )
+        configureTheStyleForDifferentTypeChart(chartType,position)
 
-        } else {
-            aaChartModel.series(arrayOf(
-                    AASeriesElement()
-                        .name("Tokyo")
-                        .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("NewYork")
-                        .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("London")
-                        .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("Berlin")
-                        .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 as AAChartModel
+    }
+
+    internal fun configureTheStyleForDifferentTypeChart(chartType: String, position: Int) {
+        if ((chartType == AAChartType.Area.value || chartType == AAChartType.Line.value)
+            && (position == 4 || position == 5)) {
+            val element1 = AASeriesElement()
+                .name("Tokyo")
+                .step(true)
+                .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))
+
+            val element2 = AASeriesElement()
+                .name("NewYork")
+                .step(true)
+                .data(arrayOf(83.6, 78.8, 188.5, 93.4, 106.0, 84.5, 105.0, 104.3, 131.2, 153.5, 226.6, 192.3))
+
+            val element3 = AASeriesElement()
+                .name("London")
+                .step(true)
+                .data(arrayOf(48.9, 38.8, 19.3, 41.4, 47.0, 28.3, 59.0, 69.6, 52.4, 65.2, 53.3, 72.2))
+
+
+            aaChartModel!!.series(arrayOf(element1, element2, element3))
+
+        } else if (chartType == AAChartType.Column.value || chartType == AAChartType.Bar.value) {
+            aaChartModel!!
+                .categories(arrayOf("Jan", "Feb", "Mar", "Apr", "May", "Jun", "July", "Aug", "Spe", "Oct", "Nov", "Dec"))
+                .legendEnabled(true)
+                .colorsTheme(arrayOf("#fe117c", "#ffc069", "#06caf4", "#7dffc0"))
+                .animationType(AAChartAnimationType.Bounce)
+                .animationDuration(1200)
+        } else if (chartType == AAChartType.Area.value || chartType == AAChartType.Areaspline.value) {
+            aaChartModel!!
+                .animationType(AAChartAnimationType.EaseOutQuart)
+                .legendEnabled(true)
+                .markerRadius(5f)
+                .markerSymbol(AAChartSymbolType.Circle)
+                .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
+
+            if (chartType == AAChartType.Areaspline.value) {
+                val gradientColorDic = AAGradientColor.linearGradient(
+                    AALinearGradientDirection.ToBottomRight,
+                    "rgba(138,43,226,1)",
+                    "rgba(30,144,255,1)" //颜色字符串设置支持十六进制类型和 rgba 类型
                 )
-            )
 
-        }
+                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))
 
-        if (chartType == AAChartType.Area.value
-            || chartType == AAChartType.Arearange.value) {
-            aaChartModel.markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
-        } else if (chartType == AAChartType.Line.value
-            || chartType == AAChartType.Spline.value) {
-            aaChartModel.markerSymbolStyle(AAChartSymbolStyleType.BorderBlank)
-        }
+                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))
+
+
+                aaChartModel!!
+                    .animationType(AAChartAnimationType.EaseFrom)//设置图表渲染动画类型为 EaseFrom
+                    .series(arrayOf(element1, element2, element3, element4))
+
+            }
+        } else if (chartType == AAChartType.Line.value || chartType == AAChartType.Spline.value) {
+            aaChartModel!!
+                .markerSymbolStyle(AAChartSymbolStyleType.BorderBlank)//设置折线连接点样式为:边缘白色
+                .markerRadius(6f)
+            if (chartType == AAChartType.Spline.value) {
+                val element1 = AASeriesElement()
+                    .name("Tokyo")
+                    .lineWidth(7f)
+                    .data(arrayOf(50, 320, 230, 370, 230, 400))
+
+                val element2 = AASeriesElement()
+                    .name("Berlin")
+                    .lineWidth(7f)
+                    .data(arrayOf(80, 390, 210, 340, 240, 350))
+
+                val element3 = AASeriesElement()
+                    .name("New York")
+                    .lineWidth(7f)
+                    .data(arrayOf(100, 370, 180, 280, 260, 300))
+
+                val element4 = AASeriesElement()
+                    .name("London")
+                    .lineWidth(7f)
+                    .data(arrayOf(130, 350, 160, 310, 250, 268))
 
+                aaChartModel!!
+                    .animationType(AAChartAnimationType.SwingFromTo)
+                    .series(arrayOf(element1, element2, element3, element4))
+
+            }
+        }
 
-        return aaChartModel
     }
 
+
     private fun convertStringToEnum(chartTypeStr: String): AAChartType {
         var chartTypeEnum = AAChartType.Column
         when (chartTypeStr) {
-            AAChartType.Column.toString() -> chartTypeEnum = AAChartType.Column
-            AAChartType.Bar.toString() -> chartTypeEnum = AAChartType.Bar
-            AAChartType.Area.toString() -> chartTypeEnum = AAChartType.Area
-            AAChartType.Areaspline.toString() -> chartTypeEnum = AAChartType.Areaspline
-            AAChartType.Line.toString() -> chartTypeEnum = AAChartType.Line
-            AAChartType.Spline.toString() -> chartTypeEnum = AAChartType.Spline
+            AAChartType.Column.value -> chartTypeEnum = AAChartType.Column
+            AAChartType.Bar.value -> chartTypeEnum = AAChartType.Bar
+            AAChartType.Area.value -> chartTypeEnum = AAChartType.Area
+            AAChartType.Areaspline.value -> chartTypeEnum = AAChartType.Areaspline
+            AAChartType.Line.value -> chartTypeEnum = AAChartType.Line
+            AAChartType.Spline.value -> chartTypeEnum = AAChartType.Spline
         }
         return chartTypeEnum
     }

+ 39 - 12
app/src/main/java/com/aachartmodel/aainfographics/ChartsDemo/BasicContent/CustomStyleChartActivity.kt

@@ -52,17 +52,44 @@ class CustomStyleChartActivity : AppCompatActivity() {
     }
 
     private fun configureTheAAChartModel(chartType: String): AAChartModel {
-       return when (chartType) {
-            "colorfulChart" -> CustomStyleChartComposer.configureColorfulChart()
-            "gradientColorfulChart" -> CustomStyleChartComposer.configureColorfulGradientColorChart()
-            "discontinuousDataChart" -> CustomStyleChartComposer.configureDiscontinuousDataChart()
-            "colorfulColumnChart" -> CustomStyleChartComposer.configureColorfulColumnChart()
-            "nightingaleRoseChart" -> CustomStyleChartComposer.configureNightingaleRoseChart()
-            "chartWithShadowStyle" -> CustomStyleChartComposer.configureChartWithShadowStyle()
-            "colorfulGradientAreaChart" -> CustomStyleChartComposer.configureColorfulGradientAreaChart()
-            "colorfulGradientSplineChart" -> CustomStyleChartComposer.configureColorfulGradientSplineChart()
-            "gradientColorAreasplineChart" -> CustomStyleChartComposer.configureGradientColorAreasplineChart()
-           else -> CustomStyleChartComposer.configureColorfulChart()
-       }
+        when (chartType) {
+            "colorfulChart" ->
+            return CustomStyleChartComposer.configureColorfulChart()
+            "gradientColorfulChart" ->
+            return CustomStyleChartComposer.configureColorfulGradientColorChart()
+            "discontinuousDataChart" ->
+            return CustomStyleChartComposer.configureDiscontinuousDataChart()
+            "colorfulColumnChart" ->
+            return CustomStyleChartComposer.configureColorfulColumnChart()
+            "nightingaleRoseChart" ->
+            return CustomStyleChartComposer.configureNightingaleRoseChart()
+            "chartWithShadowStyle" ->
+            return CustomStyleChartComposer.configureChartWithShadowStyle()
+            "colorfulGradientAreaChart" ->
+            return CustomStyleChartComposer.configureColorfulGradientAreaChart()
+            "colorfulGradientSplineChart" ->
+            return CustomStyleChartComposer.configureColorfulGradientSplineChart()
+            "gradientColorAreasplineChart" ->
+            return CustomStyleChartComposer.configureGradientColorAreasplineChart()
+            "SpecialStyleMarkerOfSingleDataElementChart" ->
+            return CustomStyleChartComposer.configureSpecialStyleMarkerOfSingleDataElementChart()
+            "SpecialStyleColumnOfSingleDataElementChart" ->
+            return CustomStyleChartComposer.configureSpecialStyleColumnOfSingleDataElementChart()
+            "AreaChartThreshold" ->
+            return CustomStyleChartComposer.configureAreaChartThreshold()
+            "customScatterChartMarkerSymbolContent" ->
+            return CustomStyleChartComposer.customScatterChartMarkerSymbolContent()
+            "customLineChartMarkerSymbolContent" ->
+            return CustomStyleChartComposer.customLineChartMarkerSymbolContent()
+            "TriangleRadarChart" ->
+            return CustomStyleChartComposer.configureTriangleRadarChart()
+            "QuadrangleRadarChart" ->
+            return CustomStyleChartComposer.configureQuadrangleRadarChart()
+            "PentagonRadarChart" ->
+            return CustomStyleChartComposer.configurePentagonRadarChart()
+            "HexagonRadarChart" ->
+            return CustomStyleChartComposer.configureHexagonRadarChart()
+        }
+        return CustomStyleChartComposer.configureColorfulChart()
     }
 }

+ 63 - 38
app/src/main/java/com/aachartmodel/aainfographics/ChartsDemo/BasicContent/MainActivity.kt

@@ -88,11 +88,24 @@ class MainActivity : AppCompatActivity() {
         "colorfulGradientAreaChart",
         "colorfulGradientSplineChart",
         "gradientColorAreasplineChart",
+        "SpecialStyleMarkerOfSingleDataElementChart",
+        "SpecialStyleColumnOfSingleDataElementChart",
+        "AreaChartThreshold",
+        "customScatterChartMarkerSymbolContent",
+        "customLineChartMarkerSymbolContent",
+        "TriangleRadarChart",
+        "QuadrangleRadarChart",
+        "PentagonRadarChart",
+        "HexagonRadarChart",
         /*使用AAOptions绘制图表*/
         "/*使用AAOptions绘制图表*/drawChartWithOptionsOne-----------------",
-        "configureAAPlotLinesForChart",
+        "AAPlotLinesForChart",
         "customAATooltipWithJSFuntion",
         "customXAxisCrosshairStyle",
+        "XAxisLabelsFontColorWithHTMLString",
+        "XAxisLabelsFontColorAndFontSizeWithHTMLString",
+        "_DataLabels_XAXis_YAxis_Legend_Style",
+        "XAxisPlotBand",
         /*隐藏或显示内容*/
         "/*隐藏或显示内容*/Column Chart---柱形图--------------",
         "Bar Chart---条形图",
@@ -102,36 +115,36 @@ class MainActivity : AppCompatActivity() {
         "Step Line Chart--- 直方折线图",
         "Line Chart---折线图",
         "Spline Chart---曲线图",
-        "/*使用JavaScript函数自定义内容*/简单字符串拼接--------------------------------",
+        "简单字符串拼接",
         "自定义不同单位后缀",
         "值为0时,在tooltip中不显示",
         "自定义多彩颜色文字",
         "自定义箱线图的浮动提示框头部内容"
     )
 
-    private var chartTypeArr = arrayOf(
+    internal var chartTypeArr = arrayOf<String>(
         /*基础类型图表*/
-        AAChartType.Column.toString(),
-        AAChartType.Bar.toString(),
-        AAChartType.Area.toString(),
-        AAChartType.Areaspline.toString(),
-        AAChartType.Area.toString(),
-        AAChartType.Line.toString(),
-        AAChartType.Line.toString(),
-        AAChartType.Spline.toString(),
+        AAChartType.Column.value,
+        AAChartType.Bar.value,
+        AAChartType.Area.value,
+        AAChartType.Areaspline.value,
+        AAChartType.Area.value,
+        AAChartType.Line.value,
+        AAChartType.Line.value,
+        AAChartType.Spline.value,
         /*特殊类型图表*/
-        AAChartType.Column.toString(),
-        AAChartType.Pie.toString(),
-        AAChartType.Bubble.toString(),
-        AAChartType.Scatter.toString(),
-        AAChartType.Arearange.toString(),
-        AAChartType.Columnrange.toString(),
-        AAChartType.Line.toString(),
-        AAChartType.Area.toString(),
-        AAChartType.Boxplot.toString(),
-        AAChartType.Waterfall.toString(),
-        AAChartType.Pyramid.toString(),
-        AAChartType.Funnel.toString(),
+        AAChartType.Column.value,
+        AAChartType.Pie.value,
+        AAChartType.Bubble.value,
+        AAChartType.Scatter.value,
+        AAChartType.Arearange.value,
+        AAChartType.Columnrange.value,
+        AAChartType.Line.value,
+        AAChartType.Area.value,
+        AAChartType.Boxplot.value,
+        AAChartType.Waterfall.value,
+        AAChartType.Pyramid.value,
+        AAChartType.Funnel.value,
 
         /*Mixed Chart---混合图*/
         "arearangeMixedLine",
@@ -153,20 +166,33 @@ class MainActivity : AppCompatActivity() {
         "colorfulGradientAreaChart",
         "colorfulGradientSplineChart",
         "gradientColorAreasplineChart",
+        "SpecialStyleMarkerOfSingleDataElementChart",
+        "SpecialStyleColumnOfSingleDataElementChart",
+        "AreaChartThreshold",
+        "customScatterChartMarkerSymbolContent",
+        "customLineChartMarkerSymbolContent",
+        "TriangleRadarChart",
+        "QuadrangleRadarChart",
+        "PentagonRadarChart",
+        "HexagonRadarChart",
         /*使用AAOptions绘制图表*/
-        "configureAAPlotBandsForChart",
-        "configureAAPlotLinesForChart",
+        "AAPlotBandsForChart",
+        "AAPlotLinesForChart",
         "customAATooltipWithJSFuntion",
         "customXAxisCrosshairStyle",
+        "XAxisLabelsFontColorWithHTMLString",
+        "XAxisLabelsFontColorAndFontSizeWithHTMLString",
+        "_DataLabels_XAXis_YAxis_Legend_Style",
+        "XAxisPlotBand",
         /*隐藏或显示内容*/
-        AAChartType.Column.toString(),
-        AAChartType.Bar.toString(),
-        AAChartType.Area.toString(),
-        AAChartType.Areaspline.toString(),
-        AAChartType.Area.toString(),
-        AAChartType.Line.toString(),
-        AAChartType.Line.toString(),
-        AAChartType.Spline.toString(),
+        AAChartType.Column.value,
+        AAChartType.Bar.value,
+        AAChartType.Area.value,
+        AAChartType.Areaspline.value,
+        AAChartType.Area.value,
+        AAChartType.Line.value,
+        AAChartType.Line.value,
+        AAChartType.Spline.value,
         "formatterFunction1",
         "formatterFunction2",
         "formatterFunction3",
@@ -174,7 +200,6 @@ class MainActivity : AppCompatActivity() {
         "formatterFunction5"
     )
 
-
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_main)
@@ -192,10 +217,10 @@ class MainActivity : AppCompatActivity() {
                 position <= 7 -> goToCommonChartActivity(position)
                 position in 8..19 -> goToSpecialChartActivity(position)
                 position in 20..28 -> goToMixedChartActivity(position)
-                position in 29..37 -> goToCustomStyleChartActivity(position)
-                position in 38..41 -> goToDrawChartWithAAOptionsActivity(position)
-                position in 42..49 -> goToHideOrShowChartSeriesActivity(position)
-                position > 49 -> goToCustomTooltipWithJSFunctionActivity(position)
+                position in 28..46 -> goToCustomStyleChartActivity(position)
+                position in 47..54 -> goToDrawChartWithAAOptionsActivity(position)
+                position in 55..62 -> goToHideOrShowChartSeriesActivity(position)
+                position > 62 -> goToCustomTooltipWithJSFunctionActivity(position)
             }
         }
     }

+ 16 - 42
app/src/main/java/com/aachartmodel/aainfographics/ChartsDemo/BasicContent/SpecialChartActivity.kt

@@ -46,57 +46,31 @@ class SpecialChartActivity : AppCompatActivity() {
         val intent = intent
         val chartType = intent.getStringExtra("chartType")
 
-        val chartTypeEnum = convertStringToEnum(chartType)
-
-        aaChartModel = configureChartModelWithChartType(chartTypeEnum)
+        aaChartModel = configureChartModelWithChartType(chartType)
         val aaChartView: AAChartView = findViewById(R.id.AAChartView)
         aaChartView.aa_drawChartWithChartModel(aaChartModel!!)
-
-
     }
 
-    private fun configureChartModelWithChartType(chartType: AAChartType): AAChartModel? {
+    private fun configureChartModelWithChartType(chartType: String): AAChartModel? {
         when (chartType) {
-            AAChartType.Column -> return SpecialChartComposer.configurePolarColumnChart()
-            AAChartType.Pie -> return SpecialChartComposer.configurePieChart()
-            AAChartType.Bubble -> return SpecialChartComposer.configureBubbleChart()
-            AAChartType.Scatter -> return SpecialChartComposer.configureScatterChart()
-            AAChartType.Arearange -> return SpecialChartComposer.configureArearangeChart()
-            AAChartType.Areasplinerange -> return SpecialChartComposer.configureAreasplinerangeChart()
-            AAChartType.Columnrange -> return SpecialChartComposer.configureColumnrangeChart()
-            AAChartType.Line -> return SpecialChartComposer.configureStepLineChart()
-            AAChartType.Area -> return SpecialChartComposer.configureStepAreaChart()
-            AAChartType.Boxplot -> return SpecialChartComposer.configureBoxplotChart()
-            AAChartType.Waterfall -> return SpecialChartComposer.configureWaterfallChart()
-            AAChartType.Pyramid -> return SpecialChartComposer.configurePyramidChart()
-            AAChartType.Funnel -> return SpecialChartComposer.configureFunnelChart()
-            else -> {
+            AAChartType.Column.value  -> return SpecialChartComposer.configurePolarColumnChart()
+            AAChartType.Pie.value  -> return SpecialChartComposer.configurePieChart()
+            AAChartType.Bubble.value  -> return SpecialChartComposer.configureBubbleChart()
+            AAChartType.Scatter.value  -> return SpecialChartComposer.configureScatterChart()
+            AAChartType.Arearange.value  -> return SpecialChartComposer.configureArearangeChart()
+            AAChartType.Areasplinerange.value  -> return SpecialChartComposer.configureAreasplinerangeChart()
+            AAChartType.Columnrange.value  -> return SpecialChartComposer.configureColumnrangeChart()
+            AAChartType.Line.value  -> return SpecialChartComposer.configureStepLineChart()
+            AAChartType.Area.value  -> return SpecialChartComposer.configureStepAreaChart()
+            AAChartType.Boxplot.value  -> return SpecialChartComposer.configureBoxplotChart()
+            AAChartType.Waterfall.value  -> return SpecialChartComposer.configureWaterfallChart()
+            AAChartType.Pyramid.value  -> return SpecialChartComposer.configurePyramidChart()
+            AAChartType.Funnel.value  -> return SpecialChartComposer.configureFunnelChart()
+            else  -> {
             }
         }
 
         return null
     }
 
-    private fun convertStringToEnum(chartTypeStr: String): AAChartType {
-        when (chartTypeStr) {
-            AAChartType.Column.toString() -> return AAChartType.Column
-            AAChartType.Bar.toString() -> return AAChartType.Bar
-            AAChartType.Area.toString() -> return AAChartType.Area
-            AAChartType.Areaspline.toString() -> return AAChartType.Areaspline
-            AAChartType.Line.toString() -> return AAChartType.Line
-            AAChartType.Spline.toString() -> return AAChartType.Spline
-            AAChartType.Scatter.toString() -> return AAChartType.Scatter
-            AAChartType.Pie.toString() -> return AAChartType.Pie
-            AAChartType.Bubble.toString() -> return AAChartType.Bubble
-            AAChartType.Pyramid.toString() -> return AAChartType.Pyramid
-            AAChartType.Funnel.toString() -> return AAChartType.Funnel
-            AAChartType.Columnrange.toString() -> return AAChartType.Columnrange
-            AAChartType.Arearange.toString() -> return AAChartType.Arearange
-            AAChartType.Areasplinerange.toString() -> return AAChartType.Areasplinerange
-            AAChartType.Boxplot.toString() -> return AAChartType.Boxplot
-            AAChartType.Waterfall.toString() -> return AAChartType.Waterfall
-            AAChartType.Polygon.toString() -> return AAChartType.Polygon
-        }
-        return AAChartType.Column
-    }
 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 360 - 255
app/src/main/java/com/aachartmodel/aainfographics/ChartsDemo/ChartComposer/CustomStyleChartComposer.kt


+ 27 - 2
app/src/main/java/com/aachartmodel/aainfographics/ChartsDemo/ChartComposer/MixedChartComposer.kt

@@ -27,6 +27,8 @@
  */
 package com.aachartmodel.aainfographics.ChartsDemo.ChartComposer
 
+import com.aachartmodel.aainfographics.AAInfographicsLib.AAOptionsModel.AADataLabels
+import com.aachartmodel.aainfographics.AAInfographicsLib.AAOptionsModel.AAStyle
 import com.example.chartcorekotlin.AAChartConfiger.*
 
 class MixedChartComposer {
@@ -179,14 +181,37 @@ companion object {
             .series(arrayOf(
                 AASeriesElement()
                     .name("新用户")
-                    .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)),
+                    .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()
+                                .color(AAColor.redColor())
+                                .fontSize(11f)
+                        )
+                    ),
                 AASeriesElement()
                     .name("老用户")
-                    .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)),
+                    .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)
+                        )
+                    ),
                 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("bold")
+                        )
+                    )
             )
             )
     }

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

@@ -823,6 +823,7 @@ object SpecialChartComposer{
                 AASeriesElement()
                     .name("Observed Data")
                     .color("#ef476f")
+                    .fillColor(AAGradientColor.firebrickColor())
                     .data(arrayOf(
                         arrayOf(760, 801, 848, 895, 965),
                         arrayOf(733, 853, 939, 980,1080),

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.