Browse Source

Add more free style rounded corners chart samples

An An 3 years ago
parent
commit
e4b8bcf377

+ 11 - 1
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/basiccontent/CustomStyleChartActivity.kt

@@ -90,7 +90,7 @@ class CustomStyleChartActivity : AppCompatActivity() {
                 return CustomStyleChartComposer.configurePentagonRadarChart()
             "HexagonRadarChart" ->
                 return CustomStyleChartComposer.configureHexagonRadarChart()
-            
+
              "adjustYAxisMaxAndMinValues"-> return CustomStyleChartComposer.adjustYAxisMaxAndMinValues()
              "customSpecialStyleDataLabelOfSingleDataElementChart"-> return CustomStyleChartComposer.customSpecialStyleDataLabelOfSingleDataElementChart()
              "customBarChartHoverColorAndSelectColor"-> return CustomStyleChartComposer.customBarChartHoverColorAndSelectColor()
@@ -106,6 +106,16 @@ class CustomStyleChartActivity : AppCompatActivity() {
              "disableSplineChartMarkerHoverEffect"-> return CustomStyleChartComposer.disableSplineChartMarkerHoverEffect()
              "configureMaxAndMinDataLabelsForChart"-> return CustomStyleChartComposer.configureMaxAndMinDataLabelsForChart()
              "customVerticalXAxisCategoriesLabelsByHTMLBreakLineTag"-> return CustomStyleChartComposer.customVerticalXAxisCategoriesLabelsByHTMLBreakLineTag()
+
+            "noMoreGroupingAndOverlapEachOtherColumnChart" ->
+                return CustomStyleChartComposer.noMoreGroupingAndOverlapEachOtherColumnChart()
+            "noMoreGroupingAndNestedColumnChart" ->
+                return CustomStyleChartComposer.noMoreGroupingAndNestedColumnChart()
+            "topRoundedCornersStackingColumnChart" ->
+                return CustomStyleChartComposer.topRoundedCornersStackingColumnChart()
+            "freeStyleRoundedCornersStackingColumnChart" ->
+                return CustomStyleChartComposer.freeStyleRoundedCornersStackingColumnChart()
+
         }
         return CustomStyleChartComposer.configureColorfulChart()
     }

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

@@ -78,6 +78,10 @@ class MainActivity : AppCompatActivity() {
                 "disableSplineChartMarkerHoverEffect---禁用曲线图的手指滑动 marker 点的光圈变化放大的效果",
                 "configureMaxAndMinDataLabelsForChart---为图表最大值最小值添加 DataLabels 标记",
                 "customVerticalXAxisCategoriesLabelsByHTMLBreakLineTag---通过 HTML 的换行标签来实现图表的 X 轴的 分类文字标签的换行效果",
+                "noMoreGroupingAndOverlapEachOtherColumnChart---不分组的相互重叠柱状图📊",
+                "noMoreGroupingAndNestedColumnChart---不分组的嵌套柱状图📊",
+                "topRoundedCornersStackingColumnChart---顶部为圆角的堆积柱状图📊",
+                "freeStyleRoundedCornersStackingColumnChart---各个圆角自由独立设置的堆积柱状图📊",
             ), arrayOf(
                 "customLegendStyle",
                 "drawChartWithOptionsOne",
@@ -206,6 +210,10 @@ class MainActivity : AppCompatActivity() {
                 "disableSplineChartMarkerHoverEffect",
                 "configureMaxAndMinDataLabelsForChart",
                 "customVerticalXAxisCategoriesLabelsByHTMLBreakLineTag",
+                "noMoreGroupingAndOverlapEachOtherColumnChart",
+                "noMoreGroupingAndNestedColumnChart",
+                "topRoundedCornersStackingColumnChart",
+                "freeStyleRoundedCornersStackingColumnChart",
             ), arrayOf( /*使用AAOptions绘制图表*/
                 "customLegendStyle",
                 "AAPlotBandsForChart",

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

@@ -1162,4 +1162,121 @@ object CustomStyleChartComposer  {
             ))
     }
 
+
+    //https://github.com/AAChartModel/AAChartKit/issues/1269
+    fun noMoreGroupingAndOverlapEachOtherColumnChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Column)
+            .categories(arrayOf("11/23", "11/24", "11/25", "11/26", "11/27", "11/28", "11/29"))
+            //            .yAxisTickPositions([0, 10, 20, 30, 40, 50])
+            .yAxisMax(50f)
+            .yAxisMin(0f)
+            .borderRadius(5f)
+            .series(arrayOf(
+                    AAColumn()
+                        .name("总做题")
+                        .color("#D8D8D8")
+                        .data(arrayOf(30, 20, 28, 40, 42, 48, 50))
+                        .grouping(false),
+                    AAColumn()
+                        .name("正确做题")
+                        .color("#00D9CD")
+                        .data(arrayOf(28, 18, 26, 40, 40, 46, 39))
+                )
+            )
+    }
+
+    //https://github.com/AAChartModel/AAChartKit/issues/1271
+    fun noMoreGroupingAndNestedColumnChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Column)
+            .categories(arrayOf("11/23", "11/24", "11/25", "11/26", "11/27", "11/28", "11/29"))
+            //            .yAxisTickPositions([0, 10, 20, 30, 40, 50])
+            .yAxisMax(50f)
+            .yAxisMin(0f)
+            .borderRadius(5f)
+            .series(arrayOf(
+                    AAColumn()
+                        .name("总目标")
+                        .color("DeepSkyBlue")
+                        .data(arrayOf(30, 20, 28, 40, 42, 48, 50))
+                        .grouping(false)
+                        .pointPadding(0.05f),
+                    AAColumn()
+                        .name("完成度")
+                        .color("#FF3030") //Firebrick1 color
+                        .data(arrayOf(28, 18, 26, 40, 40, 46, 39))
+                        .grouping(false)
+                        .pointPadding(0.2f)
+                )
+            )
+    }
+
+    //https://github.com/AAChartModel/AAChartKit/issues/842
+    fun topRoundedCornersStackingColumnChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Column)
+            .stacking(AAChartStackingType.Normal)
+            .title("Top Rounded Corners Stacking Column Chart")
+            .colorsTheme(arrayOf("#fe117c", "#ffc069", "#06caf4"))
+            .series(arrayOf(
+                    AASeriesElement()
+                        .name("Tokyo Hot")
+                        .borderRadiusTopLeft("50%")
+                        .borderRadiusTopRight("50%")
+                        .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.3)),
+                    AASeriesElement()
+                        .name("Berlin Hot")
+                        .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("Beijing Hot")
+                        .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))
+                )
+            )
+    }
+
+    //https://github.com/AAChartModel/AAChartKit-Swift/issues/323
+    //https://github.com/AAChartModel/AAChartKit-Swift/issues/346
+    //https://github.com/highcharts/rounded-corners
+    fun freeStyleRoundedCornersStackingColumnChart(): AAChartModel {
+        return AAChartModel()
+            .chartType(AAChartType.Column)
+            .stacking(AAChartStackingType.Normal)
+            .title("Free-Style Rounded Corners Stacking Column Chart")
+            .colorsTheme(arrayOf(
+                    AAGradientColor.linearGradient(AARgb(128, 255, 165), AARgb(1  , 191, 236)),
+                    AAGradientColor.linearGradient(AARgb(0  , 221, 255), AARgb(77 , 119, 255)),
+                    AAGradientColor.linearGradient(AARgb(55 , 162, 255), AARgb(116, 21 , 219)),
+                    AAGradientColor.linearGradient(AARgb(255, 0  , 135), AARgb(135, 0  , 157)),
+                    AAGradientColor.linearGradient(AARgb(255, 191, 0  ), AARgb(224, 62 , 76 ))
+                ))
+            .series(arrayOf(
+                    AASeriesElement()
+                        .name("Tokyo Hot")
+                        .borderRadiusTopLeft("50%")
+                        .borderRadiusTopRight("50%")
+                        .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("Berlin Hot")
+                        .borderRadiusBottomLeft("50%")
+                        .borderRadiusBottomRight("50%")
+                        .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("Beijing Hot")
+                        .borderRadiusTopLeft("50%")
+                        .borderRadiusBottomRight("50%")
+                        .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("London Hot")
+                        .borderRadiusTopRight("50%")
+                        .borderRadiusBottomRight("50%")
+                        .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)),
+                    AASeriesElement()
+                        .name("NewYork Hot")
+                        .borderRadius(20f)
+                        .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))
+                ))
+    }
+
+
 }