mac
2024-04-26 6e7ec3f7ffcab2fbfdf32778970cd72a6845e987
app/src/main/java/com/hdl/photovoltaic/ui/home/BasicChartComposer.java
@@ -1,11 +1,15 @@
package com.hdl.photovoltaic.ui.home;
import static com.github.AAChartModel.AAChartCore.AATools.AAColor.AARgba;
import com.github.AAChartModel.AAChartCore.AAChartCreator.AAChartModel;
import com.github.AAChartModel.AAChartCore.AAChartCreator.AASeriesElement;
import com.github.AAChartModel.AAChartCore.AAChartEnum.AAChartAnimationType;
import com.github.AAChartModel.AAChartCore.AAChartEnum.AAChartSymbolStyleType;
import com.github.AAChartModel.AAChartCore.AAChartEnum.AAChartSymbolType;
import com.github.AAChartModel.AAChartCore.AAChartEnum.AAChartType;
import com.github.AAChartModel.AAChartCore.AAOptionsModel.AAStyle;
import com.github.AAChartModel.AAChartCore.AATools.AAColor;
import com.github.AAChartModel.AAChartCore.AATools.AAGradientColor;
import com.github.AAChartModel.AAChartCore.AATools.AALinearGradientDirection;
@@ -14,30 +18,42 @@
public class BasicChartComposer {
    public static AAChartModel configureBasicOptions() {
        return new AAChartModel()
                .backgroundColor("#ffffff")//#4b2b7f
                .backgroundColor("#EDEFF2")
//                .backgroundColor("#4b2b7f")
                .dataLabelsEnabled(false)
                .yAxisGridLineWidth(0)
                .yAxisGridLineWidth(1)
                .touchEventEnabled(true);
    }
    public static AAChartModel configureAreaChart() {
        Map<String, Object> linearGradientColor = AAGradientColor.linearGradient(
                AALinearGradientDirection.ToBottom,
                "rgba(56,196,148,0.5)",//深粉色, alpha 透明度1
                "rgba(255,255,255,0)"//热情的粉红, alpha 透明度 0.1
        );//颜色字符串设置支持十六进制类型和 rgba 类型
        AASeriesElement element1 = new AASeriesElement()
                .name("Tokyo")
                .data(new Object[]{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 element2 = new AASeriesElement()
                .name("NewYork")
                .data(new Object[]{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 element3 = new AASeriesElement()
                .name("London")
                .data(new Object[]{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 element4 = new AASeriesElement()
                .name("Berlin")
                .data(new Object[]{3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8});
//                .colorByPoint(true)
                .color(AARgba(56, 196, 148, 1.0f))//猩红色, alpha 透明度 1
                .lineWidth(1.5)
//                .borderColor(AARgba(255,255,255,1.0f))
                .fillColor(linearGradientColor)
//                .fillOpacity(0.5)//区域背景透明度,设置0的话看不到区域背景
                .data(new Object[]{0, 20, 30, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6});
//        AASeriesElement element2 = new AASeriesElement()
//                .name("NewYork")
//                .data(new Object[]{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 element3 = new AASeriesElement()
//                .name("London")
//                .data(new Object[]{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 element4 = new AASeriesElement()
//                .name("Berlin")
//                .data(new Object[]{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 configureBasicOptions()
                .chartType(AAChartType.Area)
                .categories(new String[]{"Java","Swift","Python","Ruby", "PHP","Go","C","C#","C++"})
                .series(new AASeriesElement[]{element1, element2, element3, element4});
                .categories(new String[]{"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"})
                .series(new AASeriesElement[]{element1});
    }
    public static AAChartModel configureStepAreaChartAndStepLineChart() {
@@ -68,18 +84,37 @@
                        "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
                })
                .legendEnabled(true)
                .colorsTheme(new String[]{"#fe117c","#ffc069","#06caf4","#7dffc0"})
                .colorsTheme(new String[]{"#fe117c", "#ffc069", "#06caf4", "#7dffc0"})
                .animationType(AAChartAnimationType.EaseOutCubic)
                .animationDuration(1200);
    }
    public static AAChartModel configureAreaChartAndAreasplineChartStyle(String chartType) {
        String[] colorsArr = {
                AAColor.Red,
                AAColor.Orange,
                AAColor.Red,
                AAColor.Green,
                AAColor.Red,
                AAColor.Blue,
                AAColor.Red,
                AAColor.Gray,
                AAColor.DarkGray,
                AAColor.LightGray,
                AAColor.Magenta,
                AAColor.Brown,
                AAColor.Black,
        };
        AAChartModel aaChartModel = configureAreaChart()
                .animationType(AAChartAnimationType.EaseOutQuart)
                .legendEnabled(true)
                .markerRadius(6)
                .markerSymbol(AAChartSymbolType.Circle)
                .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank);
                .markerRadius(0)
                .markerSymbolStyle(AAChartSymbolStyleType.Normal)
//                .markerSymbol(AAChartSymbolType.Circle)
                .tooltipValueSuffix("Kw.h")
//                .colorsTheme(colorsArr)
                .legendEnabled(false);
        if (chartType.equals(AAChartType.Areaspline)) {
            Map<String, Object> gradientColorDic = AAGradientColor.linearGradient(