An An пре 3 година
родитељ
комит
41dac015bb

+ 75 - 75
charts/src/main/java/com/github/aachartmodel/aainfographics/aachartcreator/AAOptions.kt

@@ -205,27 +205,27 @@ object AAOptionsConstructor {
         aaChartModel: AAChartModel,
         aaPlotOptions: AAPlotOptions
     ) {
-        val aaChartType = aaChartModel.chartType
         //数据点标记相关配置,只有线性图(折线图、曲线图、折线区域填充图、曲线区域填充图,散点图)才有数据点标记
-        if (   aaChartType == AAChartType.Area
-            || aaChartType == AAChartType.Areaspline
-            || aaChartType == AAChartType.Line
-            || aaChartType == AAChartType.Spline
-            || aaChartType == AAChartType.Scatter
-        ) {
-            val aaMarker = AAMarker()
-                .radius(aaChartModel.markerRadius) //曲线连接点半径,默认是4
-                .symbol(aaChartModel.markerSymbol?.value) //曲线点类型:"circle", "square", "diamond", "triangle","triangle-down",默认是"circle"
-            if (aaChartModel.markerSymbolStyle == AAChartSymbolStyleType.InnerBlank) {
-                aaMarker.fillColor("#ffffff") //点的填充色(用来设置折线连接点的填充色)
-                    .lineWidth(2f) //外沿线的宽度(用来设置折线连接点的轮廓描边的宽度)
-                    .lineColor("") //外沿线的颜色(用来设置折线连接点的轮廓描边颜色,当值为空字符串时,默认取数据点或数据列的颜色)
-            } else if (aaChartModel.markerSymbolStyle == AAChartSymbolStyleType.BorderBlank) {
-                aaMarker.lineWidth(2f)
-                    .lineColor(aaChartModel.backgroundColor)
+        when (aaChartModel.chartType) {
+            AAChartType.Area,
+            AAChartType.Areaspline,
+            AAChartType.Line,
+            AAChartType.Spline,
+            AAChartType.Scatter -> {
+                val aaMarker = AAMarker()
+                    .radius(aaChartModel.markerRadius) //曲线连接点半径,默认是4
+                    .symbol(aaChartModel.markerSymbol?.value) //曲线点类型:"circle", "square", "diamond", "triangle","triangle-down",默认是"circle"
+                if (aaChartModel.markerSymbolStyle == AAChartSymbolStyleType.InnerBlank) {
+                    aaMarker.fillColor("#ffffff") //点的填充色(用来设置折线连接点的填充色)
+                        .lineWidth(2f) //外沿线的宽度(用来设置折线连接点的轮廓描边的宽度)
+                        .lineColor("") //外沿线的颜色(用来设置折线连接点的轮廓描边颜色,当值为空字符串时,默认取数据点或数据列的颜色)
+                } else if (aaChartModel.markerSymbolStyle == AAChartSymbolStyleType.BorderBlank) {
+                    aaMarker.lineWidth(2f)
+                        .lineColor(aaChartModel.backgroundColor)
+                }
+                val aaSeries = aaPlotOptions.series
+                aaSeries?.marker(aaMarker)
             }
-            val aaSeries = aaPlotOptions.series
-            aaSeries?.marker(aaMarker)
         }
     }
 
@@ -293,68 +293,68 @@ object AAOptionsConstructor {
         aaOptions: AAOptions,
         aaChartModel: AAChartModel
     ) {
-        val aaChartType = aaChartModel.chartType
         //x 轴和 Y 轴的相关配置,扇形图、金字塔图和漏斗图则不需要设置 X 轴和 Y 轴的相关内容
-        if (   aaChartType == AAChartType.Column
-            || aaChartType == AAChartType.Bar
-            || aaChartType == AAChartType.Area
-            || aaChartType == AAChartType.Areaspline
-            || aaChartType == AAChartType.Line
-            || aaChartType == AAChartType.Spline
-            || aaChartType == AAChartType.Scatter
-            || aaChartType == AAChartType.Bubble
-            || aaChartType == AAChartType.Columnrange
-            || aaChartType == AAChartType.Arearange
-            || aaChartType == AAChartType.Areasplinerange
-            || aaChartType == AAChartType.Boxplot
-            || aaChartType == AAChartType.Waterfall
-            || aaChartType == AAChartType.Polygon
-            || aaChartType == AAChartType.Gauge
-        ) {
-            if (aaChartType != AAChartType.Gauge) {
-                val aaXAxisLabelsEnabled = aaChartModel.xAxisLabelsEnabled
-                val aaXAxisLabels = AALabels()
-                    .enabled(aaXAxisLabelsEnabled) //设置 x 轴是否显示文字
-                if (aaXAxisLabelsEnabled!!) {
-                    aaXAxisLabels.style(AAStyle()
+        when (val aaChartType = aaChartModel.chartType) {
+            AAChartType.Column,
+            AAChartType.Bar,
+            AAChartType.Area,
+            AAChartType.Areaspline,
+            AAChartType.Line,
+            AAChartType.Spline, 
+            AAChartType.Scatter,
+            AAChartType.Bubble,
+            AAChartType.Columnrange,
+            AAChartType.Arearange,
+            AAChartType.Areasplinerange,
+            AAChartType.Boxplot,
+            AAChartType.Waterfall,
+            AAChartType.Polygon,
+            AAChartType.Gauge -> {
+                if (aaChartType != AAChartType.Gauge) {
+                    val aaXAxisLabelsEnabled = aaChartModel.xAxisLabelsEnabled
+                    val aaXAxisLabels = AALabels()
+                        .enabled(aaXAxisLabelsEnabled) //设置 x 轴是否显示文字
+                    if (aaXAxisLabelsEnabled!!) {
+                        aaXAxisLabels.style(AAStyle()
                             .color(aaChartModel.axesTextColor)
-                    )
+                        )
+                    }
+
+                    val aaXAxis = AAXAxis()
+                        .labels(aaXAxisLabels) //设置 x 轴是否显示文字
+                        .reversed(aaChartModel.xAxisReversed)
+                        .gridLineWidth(aaChartModel.xAxisGridLineWidth) //x轴网格线宽度
+                        .categories(aaChartModel.categories)
+                        .visible(aaChartModel.xAxisVisible) //x轴是否可见
+                        .tickInterval(aaChartModel.xAxisTickInterval) //x轴坐标点间隔数
+
+                    aaOptions.xAxis(aaXAxis)
                 }
 
-                val aaXAxis = AAXAxis()
-                    .labels(aaXAxisLabels) //设置 x 轴是否显示文字
-                    .reversed(aaChartModel.xAxisReversed)
-                    .gridLineWidth(aaChartModel.xAxisGridLineWidth) //x轴网格线宽度
-                    .categories(aaChartModel.categories)
-                    .visible(aaChartModel.xAxisVisible) //x轴是否可见
-                    .tickInterval(aaChartModel.xAxisTickInterval) //x轴坐标点间隔数
-
-                aaOptions.xAxis(aaXAxis)
-            }
-
-            val aaYAxisLabelsEnabled = aaChartModel.yAxisLabelsEnabled
-            val aaYAxisLabels = AALabels()
-                .enabled(aaChartModel.yAxisLabelsEnabled)
-            if (aaYAxisLabelsEnabled!!) {
-                aaYAxisLabels.style(AAStyle()
+                val aaYAxisLabelsEnabled = aaChartModel.yAxisLabelsEnabled
+                val aaYAxisLabels = AALabels()
+                    .enabled(aaChartModel.yAxisLabelsEnabled)
+                if (aaYAxisLabelsEnabled!!) {
+                    aaYAxisLabels.style(AAStyle()
                         .color(aaChartModel.axesTextColor))
-            }
+                }
 
-            val aaYAxis = AAYAxis()
-                .labels(aaYAxisLabels) //设置 y 轴是否显示数字
-                .min(aaChartModel.yAxisMin) //设置 y 轴最小值,最小值等于零就不能显示负值了
-                .max(aaChartModel.yAxisMax) //y轴最大值
-                .allowDecimals(aaChartModel.yAxisAllowDecimals) //是否允许显示小数
-                .reversed(aaChartModel.yAxisReversed)
-                .gridLineWidth(aaChartModel.yAxisGridLineWidth) //y轴网格线宽度
-                .title(AATitle()
-                    .text(aaChartModel.yAxisTitle)
-                    .style(AAStyle()
-                        .color(aaChartModel.axesTextColor)))
-                .lineWidth(aaChartModel.yAxisLineWidth) //设置 y轴轴线的宽度,为0即是隐藏 y轴轴线
-                .visible(aaChartModel.yAxisVisible)
-
-            aaOptions.yAxis(aaYAxis)
+                val aaYAxis = AAYAxis()
+                    .labels(aaYAxisLabels) //设置 y 轴是否显示数字
+                    .min(aaChartModel.yAxisMin) //设置 y 轴最小值,最小值等于零就不能显示负值了
+                    .max(aaChartModel.yAxisMax) //y轴最大值
+                    .allowDecimals(aaChartModel.yAxisAllowDecimals) //是否允许显示小数
+                    .reversed(aaChartModel.yAxisReversed)
+                    .gridLineWidth(aaChartModel.yAxisGridLineWidth) //y轴网格线宽度
+                    .title(AATitle()
+                        .text(aaChartModel.yAxisTitle)
+                        .style(AAStyle()
+                            .color(aaChartModel.axesTextColor)))
+                    .lineWidth(aaChartModel.yAxisLineWidth) //设置 y轴轴线的宽度,为0即是隐藏 y轴轴线
+                    .visible(aaChartModel.yAxisVisible)
+
+                aaOptions.yAxis(aaYAxis)
+            }
         }
     }
 }