echarts:nuxt项目使用echarts

简介: echarts:nuxt项目使用echarts

一、项目环境

nuxt 2.X + vue2.X + vuex + webpack

二、安装

yarn add echarts

三、使用

3.1、plugins目录下创建echarts.js

import Vue from 'vue'
import * as echarts from 'echarts' // 引入echarts
Vue.prototype.$echarts = echarts // 引入组件(将echarts注册为全局)

3.2、nuxt.config.js中plugins引入echarts.js

plugins: [
    { src: '../m-front-common/pc/plugins/echarts' },
],

3.3、创建图表容器

<div ref="chart" style="width:60%; height:200px;"></div>

3.4、 定义option

参考第五项,option写在data里边即可

3.5、initChat

initChart() {
   this.chart = this.$echarts.init(this.$refs.chart)
   this.chart.setOption(this.option)
},

3.6、经过测试图表展示成功

四、过程记录

import Vue from 'vue'
// import echarts from 'echarts' // 引入echarts,这样可以会报错如上图
import * as echarts from 'echarts' // 引入echarts
Vue.prototype.$echarts = echarts // 引入组件(将echarts注册为全局)

五、echarts图表集-调试

let chartData = {
  xAxisData: ['图表一', '图表二', '图表三', '图表四', '图表五', '图表六'], // x轴 数据对应字段名
  finishNum: [28, 51, 43, 43, 48, 15],
  unFinishNum: [28, 39, 36, 36, 31, 21],
  unFinishNum2: [24, 49, 46, 46, 41, 31],
  finishRate: [50, 56, 54, 54, 60, 41],
}
option = {
  title: {
      top: 20,
      text: '授权医院进展',
      left: 'center',
      textStyle: {
          color: '#333333',
      },
  },
  // color: ['#4D84FF', '#ACC5FF', '#E6EDFF', '#52C419'], // 可以控制图标颜色, 也可以在series.itemStyle.color里边配置
  tooltip: { // 提示
    confine: true,
  },
  grid: {
    left: '2%',
    right: '4%',
    bottom: '10%',
    top: '20%',
    containLabel: true,
  },
  legend: {
    // icon: 'rect', // icon 形状
    orient: 'horizontal',
    left: 'right',
    // itemWidth: 12,
    // itemHeight: 12,
    // formatter: ['{a|{name}}'].join('\n'),
    textStyle: {
      fontSize: 12,
      color: '#6A93B9',
      height: 8,
      rich: {
        a: {
          verticalAlign: 'bottom',
        },
      },
    },
    data: ['已完成', '未完成', '完成率', '授权有效性'], // 与series里边的name对应
  },
  xAxis: {
    type: 'category',
    data: chartData.xAxisData,
    axisLine: {
      show: true,
      inside: false,
      lineStyle: {
        color: '#ccc',
      },
    },
    axisLabel: {
      fontSize: 12,
      color: '#6A93B9',
    },
    axisTick: {
      show: false,
    },
  },
  yAxis: [{
    type: 'value',
    min: 0,
    minInterval: 1,
    splitArea: { // 区域间隔
      show: false,
    },
    axisLine: {
      show: true,
      inside: false,
      lineStyle: {
        color: '#ccc',
      },
    },
    axisTick: {
      show: false,
    },
    splitLine: { // y轴线条间隔
      lineStyle: {
          color: 'rgba(131,101,101,0.2)', // 虚线颜色
          type: 'dashed', // 虚线
      }
    },
    axisLabel: {
      fontSize: 12,
      color: '#6A93B9',
      fontFamily: 'Bebas',
    },
  }, {
    type: 'value',
    axisLine: {
      show: false,
    },
    axisTick: {
      show: false,
    },
    splitLine: {
      show: false,
    },
    axisLabel: {
      fontSize: 12,
      formatter: '{value}%', // 右侧Y轴文字显示
      fontFamily: 'Bebas',
      color: '#6A93B9',
    },
    splitArea: {
      show: false,
    },
  }],
  series: [
    {
      name: '已完成',
      type: 'bar',
      barWidth: 10,
      itemStyle: {
        // barBorderRadius: [15, 15, 0, 0], // 柱状图顶部圆角
        // color: '#4D84FF'
        color: { // 这样写法鼠标滑过不会改变颜色
          colorStops: [
            {
                offset: 1,
                color: '#4D84FF' 
            }
          ]
        }
      },
      data: chartData.finishNum
    },
    {
      name: '未完成',
      type: 'bar',
      barWidth: 10,
      itemStyle: { 
        // barBorderRadius: [15, 15, 0, 0], // 柱状图顶部圆角
        // color: '#ACC5FF'
        color: { // 这样写法鼠标滑过不会改变颜色
          colorStops: [
            {
                offset: 1,
                color: '#ACC5FF' 
            }
          ]
        }
      }, 
      data: chartData.unFinishNum 
    },
    {
      name: '完成率',
      type: 'bar',
      barWidth: 10,
      itemStyle: {
        // barBorderRadius: [15, 15, 0, 0], // 柱状图顶部圆角
        // color: '#e6edff' // 这样写鼠标滑过会改变颜色,颜色浅的会看不见
        color: { // 这样写法鼠标滑过不会改变颜色
          colorStops: [
            {
                offset: 1,
                color: '#e6edff' 
            }
          ]
        }
      },
      data: chartData.unFinishNum2
    },
    {
      name: '授权有效性',
      type: 'line',
      // yAxisIndex: 1, // 使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
      smooth: true, // 平滑曲线显示
      symbol: 'emptyCircle', // 'circle-实心圆', 'emptyCircle-空心圆', 'rect-方形', 'roundRect-方形', 'triangle-三角', 'diamond-菱形', 'pin-别针', 'arrow-箭头', 'none'
      symbolSize: 8, // 标记的大小
      itemStyle: {
        color: '#52c419', // 颜色
        borderColor: '#fff', // 圆点边框颜色
        borderWidth: 1,
      },
      data: chartData.finishRate
    }
  ]
};

六、欢迎交流指正,关注我,一起学习

相关文章
|
7月前
|
JavaScript
echarts入门】:vue项目中应用echarts
echarts在vue项目中快速上手
|
11月前
|
JavaScript 前端开发 搜索推荐
在Vue项目里使用ECharts图标库
在Vue项目里使用ECharts图标库
154 0
|
存储 JavaScript 数据可视化
项目要求移动端适配和 分段视觉映射在ECharts框架里的运用【高级ECharts技术】
项目要求移动端适配和 分段视觉映射在ECharts框架里的运用【高级ECharts技术】
项目要求移动端适配和 分段视觉映射在ECharts框架里的运用【高级ECharts技术】
|
数据可视化 算法 BI
【中级ECharts技术】transform进行数据转换和dataZoom在项目中的使用(可视化非常的强劲)
【中级ECharts技术】transform进行数据转换和dataZoom在项目中的使用(可视化非常的强劲)
【中级ECharts技术】transform进行数据转换和dataZoom在项目中的使用(可视化非常的强劲)
|
JavaScript
在Vue项目中引入 ECharts 3D 路径图 Flights GL(需安装echarts、echarts-gl、jQuery依赖,已踩坑)
在Vue项目中引入 ECharts 3D 路径图 Flights GL(需安装echarts、echarts-gl、jQuery依赖,已踩坑)
1309 0
在Vue项目中引入 ECharts 3D 路径图 Flights GL(需安装echarts、echarts-gl、jQuery依赖,已踩坑)
|
JavaScript
简述vue项目中如何使用ECharts图表
简述vue项目中如何使用ECharts图表
80 0
|
JavaScript 数据可视化 大数据
vue项目中使用echarts实现雷达分析图
vue项目中使用echarts实现雷达分析图
1408 0
vue项目中使用echarts实现雷达分析图
|
JavaScript 前端开发