html获取后端传入的数据生成折线图 - 业余

1、后端 model 传参   -- modelMap

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.ArrayList;
import java.util.List;

@Controller
public class Test{

    @GetMapping("/testweb")
    public String putinfo(Model model){
        // 添加测试 List 作为数据源
        List<String> x=new ArrayList<>();
        List<Integer> y=new ArrayList<>();
        String titles="测试";

        x.add("a");
        x.add("b");
        x.add("c");
        y.add(1);
        y.add(2);
        y.add(1);
        
        // 使用 model 传递参数
        model.addAttribute("xz",x);
        model.addAttribute("yz",y);
        model.addAttribute("tl",titles);

        return "picture2";
    }

}

2、简单 html 页面 -- picture.html

方式一: var datainfo = "[[${xx}]]"

方式二:<span th:text="${info1.date}"></span>

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8" />
    <title>测试折线图</title>
    <script src="https://cdn.bootcss.com/echarts/4.6.0/echarts.min.js"></script>
</head>
<body bgcolor="#e0ffff">
<div id="main" style="width: 1400px;height:600px;"></div>
</body>

<script type="text/javascript">
    // 后端传入的值会包含"[","]"和",",会导致数据错位
    var datafb = {
        labels:"[[${xz}]]".split('[')[1].split(']')[0].split(','),
        values:"[[${yz}]]".split('[')[1].split(']')[0].split(','),
        titleinfo:"[[${tl}]]"
    }
    // 初始化ECharts组件到id为main的元素上
    let myChart = echarts.init(document.getElementById('main'));
    // 定义图标的配置项
    let option = {
        title: {
            text: datafb.titleinfo.concat("折线图")
        },
        tooltip: {},
        // x轴配置
        xAxis: {
            data: datafb.labels
        },
        // y轴配置
        yAxis: {},
        series: [{
            // 数据集(也可以从后端的Controller中传入)
            data: datafb.values,
            // 图表类型,这里使用line,为折线图
            type: 'line'
        }]
    };
    myChart.setOption(option);
</script>
</html>

3、结果展示

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值