wjc
2025-04-30 f91ef956cf482ed4ce0885dc47794b783c20c415
app/src/main/java/com/hdl/photovoltaic/ui/home/aachart/BasicChartComposer.java
@@ -9,7 +9,11 @@
import com.github.AAChartModel.AAChartCore.AAChartEnum.AAChartSymbolType;
import com.github.AAChartModel.AAChartCore.AAChartEnum.AAChartType;
import com.github.AAChartModel.AAChartCore.AAChartEnum.AAChartZoomType;
import com.github.AAChartModel.AAChartCore.AAOptionsModel.AAChart;
import com.github.AAChartModel.AAChartCore.AAOptionsModel.AADataLabels;
import com.github.AAChartModel.AAChartCore.AAOptionsModel.AAStyle;
import com.github.AAChartModel.AAChartCore.AAOptionsModel.AATitle;
import com.github.AAChartModel.AAChartCore.AAOptionsModel.AATooltip;
import com.github.AAChartModel.AAChartCore.AATools.AAColor;
import com.github.AAChartModel.AAChartCore.AATools.AAGradientColor;
import com.github.AAChartModel.AAChartCore.AATools.AALinearGradientDirection;
@@ -19,10 +23,10 @@
public class BasicChartComposer {
    public static AAChartModel configureBasicOptions() {
        return new AAChartModel()
                .backgroundColor("#EDEFF2")
                .backgroundColor("#1C1C1E")
//                .backgroundColor("#4b2b7f")
                .dataLabelsEnabled(false)
                .yAxisGridLineWidth(1)
//                .yAxisGridLineWidth(0.5)
                .touchEventEnabled(true);
    }
@@ -52,7 +56,7 @@
//                .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()
                .backgroundColor("#EDEFF2")
                .backgroundColor("#333738")
                .legendEnabled(false)
                .markerRadius(0)
//                .markerSymbol(AAChartSymbolType.Circle)
@@ -67,7 +71,31 @@
                AALinearGradientDirection.ToBottom,
                "rgba(56,196,148,0.5)",//深粉色, alpha 透明度1
                "rgba(255,255,255,0)"//热情的粉红, alpha 透明度 0.1
        );//颜色字符串设置支持十六进制类型和 rgba 类型
        );
        boolean isValue = false;
        try {
            if (data.length > 0) {
                for (int i = data.length - 1; i >= 0; i--) {
                    if (!(Double.parseDouble(data[i].toString()) == 0)) {
                        isValue = true;
                        break;
                    }
                }
            }
        } catch (Exception ignored) {
            isValue = true;
        }
        //颜色字符串设置支持十六进制类型和 rgba 类型
        AAStyle aaStyle = new AAStyle();
        aaStyle.color("#66FFFFFF");
//        aaStyle.background("#FF555859");
        aaStyle.fontSize(12);
        AATooltip aaTooltip = new AATooltip()
                .enabled(true)
                .backgroundColor(AAColor.rgbaColor(51, 55, 56, 1f))
                .valueDecimals(2);
        AASeriesElement element1 = new AASeriesElement()
                .name(tipSuspendName)
//                .colorByPoint(true)
@@ -76,29 +104,53 @@
//                .borderColor(AARgba(255,255,255,1.0f))
                .fillColor(linearGradientColor)
//                .fillOpacity(0.5)//区域背景透明度,设置0的话看不到区域背景
//                .tooltip(aaTooltip)
                .data(data);
//        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()
                .backgroundColor("#EDEFF2")
                .legendEnabled(false)
                .markerRadius(0)
//        AASeriesElement element2 = new AASeriesElement();
//                .name("NewYork")
//                .data(new Object[]{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 (isValue) {
            return configureBasicOptions()
                    .backgroundColor("#1C1C1E")
                    .legendEnabled(false)
                    .markerRadius(0)
//                .markerSymbol(AAChartSymbolType.Circle)
//                .markerSymbolStyle(AAChartSymbolStyleType.Normal)
                .chartType(AAChartType.Area)
                .categories(categories)
                .zoomType(AAChartZoomType.None)//手势缩放
//                .yAxisMax(500)
                .yAxisMin(0)
                .series(new AASeriesElement[]{element1});
                    .chartType(AAChartType.Area)
                    .categories(categories)
                    .zoomType(AAChartZoomType.None)//手势缩放
                    .yAxisGridLineWidth(0.10)
                    .yAxisAllowDecimals(true)
                    .xAxisVisible(true)
                    .xAxisLineWidth(0)
//                    .yAxisMax(10)
                    .yAxisMin(0)
                    .titleStyle(aaStyle)//坐标轴字体颜色
//                .axesTextColor("#FFFFFF")//背景颜色
                    .series(new AASeriesElement[]{element1});
        } else {
            return configureBasicOptions()
                    .backgroundColor("#1C1C1E")
                    .legendEnabled(false)
                    .markerRadius(0)
//                .markerSymbol(AAChartSymbolType.Circle)
//                .markerSymbolStyle(AAChartSymbolStyleType.Normal)
                    .chartType(AAChartType.Area)
                    .categories(categories)
                    .zoomType(AAChartZoomType.None)//手势缩放
                    .yAxisGridLineWidth(0.10)
                    .yAxisAllowDecimals(true)
                    .xAxisVisible(true)
                    .xAxisLineWidth(0)
                    .yAxisMax(10)//都是0时,为了和ios样式统一
                    .yAxisMin(0)
                    .titleStyle(aaStyle)//坐标轴字体颜色
//                .axesTextColor("#FFFFFF")//背景颜色
                    .series(new AASeriesElement[]{element1});
        }
    }
    public static AAChartModel configureStepAreaChartAndStepLineChart() {