java一些有用的代码(折线图场景)

场景一,前端页面需要展示近7天,近30天,近x天的数据

 数据库里面带着开始时间和结束时间去查数据的时候,(前端只给7/10x需要自己拼凑开始和结束时间)不是每一天都有数据,例如8.5是0,数据库是没有记录的,这时候需要补齐没有的数据,为0也要给前端。即给到前端的数据格式为list。list里面应该有7个元素。数据库可能只有5个或者3个元素,剩余的需要补齐。

思路:1,计算出是要几天的数据这个值前端会传过来days,即返回集合list的大小

             2,数据库查出来的dbList的sizes()不等于days的时候就需要补齐。

           3,补齐的关键点在于,datTime即20200805相同,所以利用这点灵活运用map。

具体代码如下:

      // 查询折线图起止时间内的点击数据
       public ReqResult<PageResp> findPage(AdMatStaRespQueryForm form) {
        ReqResult<PageResp> result = ReqResult.newInstance(false, PageResp.class);
        try {
            List<AdMaterialStaticResp> listResp = new ArrayList<AdMaterialStaticResp>();
            // 分页查询机构+广告位+图片类型维度下的素材ID
            PageResp<Integer> page = AdMaterialStatisticService.getInstance().findMaterialIdsByPage(form.toAdMatStatQueryPageForm());
            List<Integer> materialIds = page.getList();
            AdMaterialStaticCountType countType = AdMaterialStaticCountType.valueOf(form.getCountType());
            int days = countType.getDays();
            // 查询每个素材的历史点击总量
            materialIds.forEach(materialId -> {
                AdMaterialStaticResp resp &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要绘制折线图,你可以使用Java的图形库来实现,例如JavaFX或JFreeChart。 以下是使用JavaFX绘制折线图的示例代码: ```java import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.chart.LineChart; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; import javafx.stage.Stage; public class LineChartExample extends Application { @Override public void start(Stage stage) { // 设置X轴和Y轴的范围 final NumberAxis xAxis = new NumberAxis(); final NumberAxis yAxis = new NumberAxis(); xAxis.setLabel("X"); yAxis.setLabel("Y"); // 创建折线图 final LineChart<Number, Number> lineChart = new LineChart<>(xAxis, yAxis); lineChart.setTitle("Line Chart Example"); // 添加数据系列 XYChart.Series series = new XYChart.Series(); series.setName("Data Series"); series.getData().add(new XYChart.Data(1, 23)); series.getData().add(new XYChart.Data(2, 14)); series.getData().add(new XYChart.Data(3, 15)); series.getData().add(new XYChart.Data(4, 24)); series.getData().add(new XYChart.Data(5, 34)); series.getData().add(new XYChart.Data(6, 36)); series.getData().add(new XYChart.Data(7, 22)); series.getData().add(new XYChart.Data(8, 45)); series.getData().add(new XYChart.Data(9, 43)); series.getData().add(new XYChart.Data(10, 17)); // 将数据系列添加到折线图中 lineChart.getData().add(series); // 创建场景并将折线图添加到场景中 Scene scene = new Scene(lineChart, 800, 600); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } } ``` 这将创建一个带有一条数据系列的折线图数据系列包含10个数据点。你可以根据需要修改数据系列的名称和数据点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值