package org.jeecg.modules.stm.utils;
//
//import org.jfree.chart.ChartFactory;
//import org.jfree.chart.ChartUtils;
//import org.jfree.chart.JFreeChart;
//import org.jfree.chart.StandardChartTheme;
//import org.jfree.chart.encoders.EncoderUtil;
//import org.jfree.chart.encoders.ImageFormat;
//import org.jfree.chart.plot.CategoryPlot;
//import org.jfree.chart.plot.PlotOrientation;
//import org.jfree.chart.renderer.category.BarRenderer;
//import org.jfree.chart.util.ExportUtils;
//import org.jfree.data.category.DefaultCategoryDataset;
//
//import java.awt.*;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileOutputStream;
//import java.util.List;
//import java.util.Map;
//
//public class ChartUtil {
//    public static  FileInputStream createBarChart(String chartTitle,
//                                      Map<String,Integer[]> dataMap, List<String> categories) throws Exception{
//        ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
//        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
//
//        dataMap.forEach((key, values) -> {
//            for(int i=0;i<values.length;i++){
//                dataset.addValue(values[i], key,categories.get(i)) ;
//            }
//        });
//
//        JFreeChart chart = ChartFactory.createStackedBarChart(chartTitle,
//                "风险级别", "指标个数", dataset,
//                PlotOrientation.VERTICAL, true, true, false);
//
//
//        // 设置系列颜色
//        CategoryPlot plot = chart.getCategoryPlot();
//        BarRenderer renderer = (BarRenderer) plot.getRenderer();
//        renderer.setSeriesPaint(0, Color.LIGHT_GRAY);
//        renderer.setSeriesPaint(1, Color.RED);
//        renderer.setSeriesPaint(2, Color.yellow);
//        renderer.setSeriesPaint(3, Color.green);
//        renderer.setMaximumBarWidth(0.2); // 设置柱的最大宽度
//        renderer.setMinimumBarLength(0.1); // 设置柱的最小长度
//
//        plot.setBackgroundPaint(Color.white);
//        chart.setBackgroundPaint(Color.white); // 设置整个图表的背景色
//
//
//        // 保存柱状图为图片文件
//        File imageFile = new File("bar_chart.png");
//        File tempFile = File.createTempFile("bar_chart", ".png");
//
//        ExportUtils.writeAsPNG(chart, 400, 400, imageFile);
//        ChartUtils.saveChartAsPNG(imageFile, chart, 400, 400);
//
//        EncoderUtil.writeBufferedImage(chart.createBufferedImage(400, 400), ImageFormat.PNG, new FileOutputStream(tempFile));
//        FileInputStream fileInputStream = new FileInputStream(tempFile);
//        return fileInputStream;
//        //System.out.println("文件保存成功：" + imageFile.getAbsolutePath());
//    }
//
//
//}
