Vue中使用echarts,json数据

Vue中使用echarts,json数据

  1. 初始化vue项目

    vue init webpack 项目名

  2. 安装依赖

    npm install echarts -S

    npm install vue-axios -S

  3. 导入依赖(在HelloWorld.vue中使用)

    import * as echarts from “echarts” // ehcarts5.x使用这种

    import axios from “axios”

  4. 在static下创建目录

    目录结构如下;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EDtrk6Lc-1635910261017)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211102211403579.png)]

div1文件(折线图)示例。

option.js

export const option1 = {
    
    title: {
        text: "div1的折线图",
        subtext: "子标题"
    },
    yAxis: {
        type: "value"
    },
    tooltip: {
        trigger: "axis"
    },
    xAxis: {
        type: "category",
        data: [],   // 将数据保存到json中,使用axios读取数据。axios.get("json路径").then(res=>{})  
        boundaryGap: false
    },
    legend:{
        data: ["销量"]
    },
    series: {
        type: "line",
        name: "销量",
        data: [],   //
        smooth: true
    }


}

data.json

{
    "data1":["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
    "data2":[820, 932, 901, 934, 1290, 1330, 1320]
}
  1. vue内容展示

    路径如下;

在这里插入图片描述

Helloworld.vue

<template>
  <div>
    <div id="div1" style="width: 700px;height:300px;float: left;margin:20px"></div>
    <div id="div2" style="width: 700px;height:300px;float: left;margin:20px"></div>
    <div id="div3" style="width: 700px;height:300px;float: left;margin:20px"></div>
    <div id="div4" style="width: 700px;height:300px;float: left;margin:20px"></div>
  </div>
  
</template>

<script>

import * as echarts from "echarts"
import axios from "axios"

import {option1} from "../../static/div1/option"
import {option2} from "../../static/div2/option"
import {option3} from "../../static/div3/option"
import {option4} from "../../static/div4/option"

export default {
  name: 'HelloWorld',
  mounted(){
    this.getOption1();
    this.getOption2();
    this.getOption3();
    this.getOption4();
  },
  methods: {
    getOption1(){
      var myEcharts = echarts.init(document.getElementById("div1"));
      myEcharts.setOption(option1);
      axios.get("../../static/div1/data.json").then(res => {
        myEcharts.setOption(
          {
            xAxis: {
              data: res.data.data1
            },
            series: {
              data: res.data.data2,
              label: {
                  show: true
              }
            }
          }
        )
      })
    },
    getOption2(){
      var myEcharts = echarts.init(document.getElementById("div2"));
      myEcharts.setOption(option2);
      axios.get("../../static/div2/data.json").then(res => {
        myEcharts.setOption(
          {
            xAxis: {
              data: res.data.data1
            },
            series: {
              data: res.data.data2,
              label: {
                  show: true
              }
              }
          }
        )
      })
    },
    getOption3(){
      var myEcahrts = echarts.init(document.getElementById("div3"));
      myEcahrts.setOption(option3);
      axios.get("../../static/div3/data.json").then(res => {
        myEcahrts.setOption({
          series: {
            data: res.data.data1,
            label: {
                show: true
            }
          }
        })
      })
    },
    getOption4(){
      var myEcharts = echarts.init(document.getElementById("div4"));
      myEcharts.setOption(option4);
      axios.get("../../static/div4/data.json").then(res => {
        myEcharts.setOption({
          radar: {indicator: res.data.indicator},
          series: {
            data: res.data.data,
            label: {
                show: true
            },
            tooltip: {
              trigger: 'item'
            }
          }
          
        })
      })
    }

  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>

  1. 结果展示

    npm run dev启动Vue,页面查看。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SVeUZAXa-1635910261023)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211102211823512.png)]

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 ECharts 地图需要加载对应的 GeoJSON 数据,并引入 ECharts 的 Map 相关组件。 以下是一些基本的步骤: 1. 引入 ECharts 及其依赖 ```html <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/dataTool.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/bmap.min.js"></script> ``` 2. 引入地图 GeoJSON 数据 ECharts 官方提供了大量的地图数据,可以在官网下载,也可以通过 npm 安装。这里以国地图为例,假设已经下载或安装了该地图数据。 ```javascript // 引入国地图 GeoJSON 数据 import chinaGeoJSON from 'echarts/map/json/china.json'; ``` 3. 初始化 ECharts 实例 ```javascript // 初始化 ECharts 实例 var myChart = echarts.init(document.getElementById('myMap')); ``` 4. 配置 ECharts ```javascript // 配置 ECharts myChart.setOption({ series: [ { name: '国', type: 'map', map: 'china', data: [ { name: '北京', value: 100 }, { name: '上海', value: 200 }, { name: '广州', value: 300 }, // ... ], }, ], }); ``` 其,`map` 属性指定地图类型,`data` 属性指定数据,可以通过 `name` 属性指定地图区域的名称,通过 `value` 属性指定该区域的值。 5. 渲染地图 ```javascript // 渲染地图 myChart.setOption({ series: [ { name: '国', type: 'map', map: 'china', data: [ { name: '北京', value: 100 }, { name: '上海', value: 200 }, { name: '广州', value: 300 }, // ... ], }, ], }); ``` 以上是使用 ECharts 地图的基本步骤,具体的配置和使用方式可以参考 ECharts 官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值