代码调整

This commit is contained in:
2023-06-25 10:58:25 +08:00
parent 4e494e5e8d
commit 8e93a9d880
3 changed files with 71 additions and 14 deletions

View File

@@ -171,5 +171,49 @@ public class LineGenerator {
return ENGINE.renderJsonOption(iticOption); return ENGINE.renderJsonOption(iticOption);
} }
/***
* 生成持续时间
* @author hongawen
* @date 2023/6/21 10:06
*/
public static String generatePersistentTimeOption(List<String> ylinedata, List<String> 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);
}
} }

View File

@@ -100,7 +100,7 @@ public class DrawPicUtil {
} }
/*** /***
* 绘制概率分布图 * 绘制暂降幅值概率分布图
* @author hongawen * @author hongawen
* @date 2023/6/21 11:01 * @date 2023/6/21 11:01
* @return String base64数据 * @return String base64数据
@@ -110,7 +110,7 @@ public class DrawPicUtil {
} }
/*** /***
* 绘制概率分布图 * 绘制暂降幅值概率分布图
* @author hongawen * @author hongawen
* @date 2023/6/21 11:01 * @date 2023/6/21 11:01
* @return String base64数据 * @return String base64数据
@@ -120,5 +120,27 @@ public class DrawPicUtil {
return drawPic(eventAmplitudeJson, width, height); return drawPic(eventAmplitudeJson, width, height);
} }
/***
* 绘制持续时间概率分布图
* @author hongawen
* @date 2023/6/21 11:01
* @return String base64数据
*/
public String drawPersistentTime(List<String> ylinedata, List<String> ybardata) {
return drawPersistentTime(ylinedata, ybardata, 0, 0);
}
/***
* 绘制持续时间概率分布图
* @author hongawen
* @date 2023/6/21 11:01
* @return String base64数据
*/
public String drawPersistentTime(List<String> ylinedata, List<String> ybardata, int width, int height) {
String persistentTimeJson = LineGenerator.generateEventAmplitudeOption(ylinedata, ybardata);
return drawPic(persistentTimeJson, width, height);
}
} }

View File

@@ -1910,7 +1910,7 @@ public class ReportServiceImpl implements ReportService {
createTitle(doc, "4." + i + "." + two + " 持续时间的概率分函数", "标题 3", 400, 15); createTitle(doc, "4." + i + "." + two + " 持续时间的概率分函数", "标题 3", 400, 15);
List<String> ybardata = probabilityVO.getPersisttime(); List<String> ybardata = probabilityVO.getPersisttime();
List<String> ylinedata = probabilityVO.getSisttime(); List<String> ylinedata = probabilityVO.getSisttime();
String sj = getSJ(ylinedata, ybardata); String sj = drawPicUtil.drawPersistentTime(ylinedata, ybardata);
createPic(doc, sj, "持续时间的概率分布函数"); createPic(doc, sj, "持续时间的概率分布函数");
two++; two++;
} }
@@ -2138,15 +2138,6 @@ public class ReportServiceImpl implements ReportService {
} }
public String getSJ(List<String> sisttime, List<String> persisttime) throws TemplateException, IOException {
HashMap<String, Object> 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<String> ybardata = probabilityDistributionArea.getPersisttime(); List<String> ybardata = probabilityDistributionArea.getPersisttime();
List<String> ylinedata = probabilityDistributionArea.getSisttime(); List<String> ylinedata = probabilityDistributionArea.getSisttime();
String sj = getSJ(ylinedata, ybardata); String sj = drawPicUtil.drawPersistentTime(ylinedata, ybardata);
createPic(doc, sj, "持续时间的概率分布函数"); createPic(doc, sj, "持续时间的概率分布函数");
@@ -8224,7 +8215,7 @@ public class ReportServiceImpl implements ReportService {
List<String> ybardata = probabilityDistributionArea.getPersisttime(); List<String> ybardata = probabilityDistributionArea.getPersisttime();
List<String> ylinedata = probabilityDistributionArea.getSisttime(); List<String> ylinedata = probabilityDistributionArea.getSisttime();
String sj = getSJ(ylinedata, ybardata); String sj = drawPicUtil.drawPersistentTime(ylinedata, ybardata);
createPic(doc, sj, "持续时间的概率分布函数"); createPic(doc, sj, "持续时间的概率分布函数");