echart的整合到html

1.首先我们来简单看一下html整合echart的流程

在这里插入图片描述

2.我们这里找一个echart官网https://echarts.apache.org/的折线图来延演示

在这里插入图片描述
复制他的代码到我们的html页面,这里需要引入echarts.js和vue.js和axios.js文件,如果你是用原生的ajax也可以不引入axios.js

在这里插入图片描述

3.我们可以看到他这个代码里面series和legend.data还有xAxis.data都是可以自定义的

这个时候我们就需要封装对象了
从前端我们可以分析前端需要的参数是有2个数组和一个list对象,数据比较复杂,
所以我们直接返回一个map对象,里面包含2个数组和一个list对象

@RestController
@RequestMapping("/t")
public class Test {
    @RequestMapping("tt")
    public Map<String,Object> findall() {
        List<Integer> one_list = new ArrayList();
        one_list.add(6);one_list.add(14);one_list.add(5);
        List<Integer> two_list = new ArrayList();
        two_list.add(7);two_list.add(1);two_list.add(18);
        Tou one = new Tou();
        one.setName("西瓜");
        one.setType("line");
        one.setData(one_list);

        Tou two = new Tou();
        two.setName("香蕉");
        two.setType("line");
        two.setData(two_list);

        List<Tou> list_Food = new ArrayList<>();
        list_Food.add(one);
        list_Food.add(two);

        Map<String,Object> map = new HashMap<>();

        List<String> time = new ArrayList<>();
        time.add("第一天");
        time.add("第二天");
        time.add("第三天");

        String[] foodName={one.getName(),two.getName()};
        map.put("shiJian",time);//时间
        map.put("Food",list_Food);//食物集合
        map.put("FoodName",foodName);//食物名字
        return map;
    }
}

对应的Tou.java是

@Data
public class Tou {
    String name;
    String type;
    List<Integer> data;
}

对应的html是

<!DOCTYPE html>
<html>
<head>
    <!-- 页面meta -->
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
    <script src="../plugins/echarts/echarts.js"></script>
</head>
<body class="hold-transition">
<div id="app">
    <div class="app-container">
        <div class="box">
            <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
            <div id="chart1" style="height:600px;width: 900px"></div>
        </div>
    </div>
</div>
</body>
<!-- 引入组件库 -->
<script src="../js/vue.js"></script>
<!--<script src="../plugins/elementui/index.js"></script>-->
<script src="../js/axios-0.18.0.js"></script>
<script type="text/javascript">
    var vue = new Vue({
        el: '#app',
        //钩子函数,VUE对象初始化完成后自动执行
        mounted() {
            this.findPage();
        },
        methods: {
            findPage(){
                let myChart1 = echarts.init(document.getElementById('chart1'));
                    myChart1.setOption(
                        {
                            title: {
                                text: '折线图堆叠'
                            },
                            tooltip: {
                                trigger: 'axis'
                            },
                            legend: {
                                data: res.data.FoodName
                            },
                            grid: {
                                left: '3%',
                                right: '4%',
                                bottom: '3%',
                                containLabel: true
                            },
                            toolbox: {
                                feature: {
                                    saveAsImage: {}
                                }
                            },
                            xAxis: {
                                type: 'category',
                                boundaryGap: false,
                                data: res.data.shiJian
                            },
                            yAxis: {
                                type: 'value'
                            },
                            series: res.data.Food
                        });
                });
            }
        }
    })
</script>
</html>

出来的图像是
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

军大君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值