From 8e93a9d880363cf60918c0bd820737db1f4d65aa Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Sun, 25 Jun 2023 10:58:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/echarts/json/LineGenerator.java | 44 +++++++++++++++++++ .../com/njcn/echarts/util/DrawPicUtil.java | 26 ++++++++++- .../majornetwork/Impl/ReportServiceImpl.java | 15 ++----- 3 files changed, 71 insertions(+), 14 deletions(-) diff --git a/pqs-common/common-echarts/src/main/java/com/njcn/echarts/json/LineGenerator.java b/pqs-common/common-echarts/src/main/java/com/njcn/echarts/json/LineGenerator.java index 5c0da6bd0..801321079 100644 --- a/pqs-common/common-echarts/src/main/java/com/njcn/echarts/json/LineGenerator.java +++ b/pqs-common/common-echarts/src/main/java/com/njcn/echarts/json/LineGenerator.java @@ -171,5 +171,49 @@ public class LineGenerator { return ENGINE.renderJsonOption(iticOption); } + /*** + * 生成持续时间 + * @author hongawen + * @date 2023/6/21 10:06 + */ + public static String generatePersistentTimeOption(List ylinedata, List ybardata) { + Option iticOption = new Option(); + //取消渲染动画 + iticOption.setAnimation(false); + //背景色 + iticOption.setBackgroundColor(PicCommonData.PIC_BACK_COLOR); + //标题 + iticOption.setTitle(new Title().setLeft(PicCommonData.CENTER).setText("持续时间的概率分布")); + //设置图例 + iticOption.setLegend(new Legend().setData(new String[]{"概率分布", "占比"}).setLeft(10).setShow(true)); + //横坐标 + iticOption.setXAxis(new CategoryAxis() + .setBoundaryGap(true) + .setName("暂态持续时间(s)") + .setNameTextStyle(new AxisNameTextStyle().setFontStyle("15px")) + .setData(new String[]{"0.01", "0.1", "0.25", "0.5", "1", "3", "20", "60", "180"}) + ); + //纵坐标 + iticOption.setYAxis(new ValueAxis[]{ + new ValueAxis() + .setName("%") + .setNameTextStyle(new AxisNameTextStyle().setFontStyle("15px")) + .setAxisLabel(new ValueAxisLabel().setFormatter("{value}%")) + }); + + //配置概率分布 + LineSeries probability = new LineSeries() + .setName("概率分布") + .setData(ylinedata); + //配置占比 + BarSeries proportion = new BarSeries() + .setName("占比") + .setBarWidth(30) + .setData(ybardata); + + iticOption.setSeries(new SeriesOption[]{probability, proportion}); + return ENGINE.renderJsonOption(iticOption); + } + } diff --git a/pqs-common/common-echarts/src/main/java/com/njcn/echarts/util/DrawPicUtil.java b/pqs-common/common-echarts/src/main/java/com/njcn/echarts/util/DrawPicUtil.java index 96f538f1a..32804a72c 100644 --- a/pqs-common/common-echarts/src/main/java/com/njcn/echarts/util/DrawPicUtil.java +++ b/pqs-common/common-echarts/src/main/java/com/njcn/echarts/util/DrawPicUtil.java @@ -100,7 +100,7 @@ public class DrawPicUtil { } /*** - * 绘制概率分布图 + * 绘制暂降幅值概率分布图 * @author hongawen * @date 2023/6/21 11:01 * @return String base64数据 @@ -110,7 +110,7 @@ public class DrawPicUtil { } /*** - * 绘制概率分布图 + * 绘制暂降幅值概率分布图 * @author hongawen * @date 2023/6/21 11:01 * @return String base64数据 @@ -120,5 +120,27 @@ public class DrawPicUtil { return drawPic(eventAmplitudeJson, width, height); } + /*** + * 绘制持续时间概率分布图 + * @author hongawen + * @date 2023/6/21 11:01 + * @return String base64数据 + */ + public String drawPersistentTime(List ylinedata, List ybardata) { + return drawPersistentTime(ylinedata, ybardata, 0, 0); + } + + /*** + * 绘制持续时间概率分布图 + * @author hongawen + * @date 2023/6/21 11:01 + * @return String base64数据 + */ + public String drawPersistentTime(List ylinedata, List ybardata, int width, int height) { + String persistentTimeJson = LineGenerator.generateEventAmplitudeOption(ylinedata, ybardata); + return drawPic(persistentTimeJson, width, height); + } + + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java index d6a76d0ff..2e177ff17 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java @@ -1910,7 +1910,7 @@ public class ReportServiceImpl implements ReportService { createTitle(doc, "4." + i + "." + two + " 持续时间的概率分函数", "标题 3", 400, 15); List ybardata = probabilityVO.getPersisttime(); List ylinedata = probabilityVO.getSisttime(); - String sj = getSJ(ylinedata, ybardata); + String sj = drawPicUtil.drawPersistentTime(ylinedata, ybardata); createPic(doc, sj, "持续时间的概率分布函数"); two++; } @@ -2138,15 +2138,6 @@ public class ReportServiceImpl implements ReportService { } - - public String getSJ(List sisttime, List persisttime) throws TemplateException, IOException { - HashMap map = new HashMap<>(); - map.put("sisttime", JSONArray.fromObject(sisttime).toString()); - map.put("persisttime", JSONArray.fromObject(persisttime).toString()); - String str = getStr("bar6.ftl", map); - return str; - } - /** * 表格插入行数据 * @@ -5007,7 +4998,7 @@ public class ReportServiceImpl implements ReportService { List ybardata = probabilityDistributionArea.getPersisttime(); List ylinedata = probabilityDistributionArea.getSisttime(); - String sj = getSJ(ylinedata, ybardata); + String sj = drawPicUtil.drawPersistentTime(ylinedata, ybardata); createPic(doc, sj, "持续时间的概率分布函数"); @@ -8224,7 +8215,7 @@ public class ReportServiceImpl implements ReportService { List ybardata = probabilityDistributionArea.getPersisttime(); List ylinedata = probabilityDistributionArea.getSisttime(); - String sj = getSJ(ylinedata, ybardata); + String sj = drawPicUtil.drawPersistentTime(ylinedata, ybardata); createPic(doc, sj, "持续时间的概率分布函数");