echarts系列——在vue工程化项目中如何使用echarts

灰太狼 2022-04-08 08:45 382阅读 0赞

安装echarts依赖

  1. npm install echarts --save

点击查看 echarts官网安装教程

创建图表

全局引入

  • main.js

    // 引入echarts
    import echarts from ‘echarts’

    Vue.prototype.$echarts = echarts

  • map.vue

    //html

    //js

    export default {
    name: ‘hello’,
    data () {

    1. return {
    2. msg: 'Welcome to Your Vue.js App'
    3. }

    },
    mounted(){

    1. this.drawLine();

    },
    methods: {

    1. drawLine(){
    2. // 基于准备好的dom,初始化echarts实例
    3. let myChart = this.$echarts.init(document.getElementById('myChart'))
    4. // 绘制图表
    5. myChart.setOption({
    6. title: { text: '在Vue中使用echarts' },
    7. tooltip: {},
    8. xAxis: {
    9. data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
    10. },
    11. yAxis: {},
    12. series: [{
    13. name: '销量',
    14. type: 'bar',
    15. data: [5, 20, 36, 10, 10, 20]
    16. }]
    17. });
    18. }

    }
    }

按需引入

上面全局引入会将所有的echarts图表打包,导致体积过大,所以我觉得最好还是按需引入。

  • map.vue
  • // 引入基本模板
    let echarts = require(‘echarts/lib/echarts’)
    // 引入柱状图组件
    require(‘echarts/lib/chart/bar’)
    // 引入提示框和title组件
    require(‘echarts/lib/component/tooltip’)
    require(‘echarts/lib/component/title’)
    export default {
    name: ‘hello’,
    data() {

    1. return {
    2. msg: 'Welcome to Your Vue.js App'
    3. }

    },
    mounted() {

    1. this.drawLine();

    },
    methods: {

    1. drawLine() {
    2. // 基于准备好的dom,初始化echarts实例
    3. let myChart = echarts.init(document.getElementById('myChart'))
    4. // 绘制图表
    5. myChart.setOption({
    6. title: { text: 'ECharts 入门示例' },
    7. tooltip: {},
    8. xAxis: {
    9. data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    10. },
    11. yAxis: {},
    12. series: [{
    13. name: '销量',
    14. type: 'bar',
    15. data: [5, 20, 36, 10, 10, 20]
    16. }]
    17. });
    18. }

    }
    }

    Tips:这里之所以使用 require 而不是 import,是因为 require 可以直接从 node_modules 中查找,而 import 必须把路径写全。

  • 效果图

SouthEast

-————————————————————————————————分割线———————————————————————————————————————————-

上面是简单的demo,现在讲一下在实际项目中如何使用 地图标注数据,省市的数据

(1)先使用npm安装echarts

  1. npm install echarts --save

(2)在使用的项目中引入echarts和中国地图china.js

  1. china.js 路径 ../../node\_modules/echarts/map/js/china.js
  2. // map.vue
  3. import * as echarts from 'echarts'
  4. import '../../node_modules/echarts/map/js/china.js' // 引入中国地图数据
  5. //html
  6. <div class="china-map" id="main"></div>
  7. <script>
  8. import * as echarts from 'echarts'
  9. import '../../node_modules/echarts/map/js/china.js' // 引入中国地图数据
  10. export default {
  11. props: {
  12. },
  13. data () {
  14. return {
  15. }
  16. },
  17. mounted () {
  18. this.getChinaMapDate()
  19. },
  20. watch: {
  21. },
  22. methods: {
  23. getChinaMapDate () {
  24. function randomData () {
  25. return Math.round(Math.random() * 500)
  26. }
  27. var mydata = [
  28. { name: '北京', value: randomData() },
  29. { name: '天津', value: randomData() },
  30. { name: '上海', value: randomData() },
  31. { name: '重庆', value: randomData() },
  32. { name: '河北', value: randomData() },
  33. { name: '河南', value: randomData() },
  34. { name: '云南', value: randomData() },
  35. { name: '辽宁', value: randomData() },
  36. { name: '黑龙江', value: randomData() },
  37. { name: '湖南', value: randomData() },
  38. { name: '安徽', value: randomData() },
  39. { name: '山东', value: randomData() },
  40. { name: '新疆', value: randomData() },
  41. { name: '江苏', value: randomData() },
  42. { name: '浙江', value: randomData() },
  43. { name: '江西', value: randomData() },
  44. { name: '湖北', value: randomData() },
  45. { name: '广西', value: randomData() },
  46. { name: '甘肃', value: randomData() },
  47. { name: '山西', value: randomData() },
  48. { name: '内蒙古', value: randomData() },
  49. { name: '陕西', value: randomData() },
  50. { name: '吉林', value: randomData() },
  51. { name: '福建', value: randomData() },
  52. { name: '贵州', value: randomData() },
  53. { name: '广东', value: randomData() },
  54. { name: '青海', value: randomData() },
  55. { name: '西藏', value: randomData() },
  56. { name: '四川', value: randomData() },
  57. { name: '宁夏', value: randomData() },
  58. { name: '海南', value: randomData() },
  59. { name: '台湾', value: randomData() },
  60. { name: '香港', value: randomData() },
  61. { name: '澳门', value: randomData() }
  62. ]
  63. var option = {
  64. backgroundColor: '#FFFFFF',
  65. title: {
  66. text: '全国评估订单统计',
  67. subtext: '检测单量(单位:条)',
  68. x: 'center'
  69. },
  70. tooltip: {
  71. trigger: 'item'
  72. },
  73. dataRange: {
  74. min: 0,
  75. max: 2000,
  76. x: 'left',
  77. y: 'bottom',
  78. text: ['高', '低'], // 文本,默认为数值文本
  79. calculable: true // 控制值拖动
  80. },
  81. toolbox: {
  82. show: true,
  83. orient: 'vertical',
  84. x: 'right',
  85. y: 'center',
  86. padding: 20,
  87. itemGap: 20,
  88. feature: {
  89. mark: { show: true },
  90. dataView: { show: true, readOnly: false },
  91. restore: { show: true },
  92. saveAsImage: { show: true }
  93. }
  94. },
  95. series: [
  96. {
  97. name: '评估订单',
  98. type: 'map',
  99. mapType: 'china',
  100. roam: true,
  101. label: {
  102. normal: {
  103. // 是否默认显示地名
  104. show: false
  105. },
  106. emphasis: {
  107. // 控制默认鼠标浮动显示地名
  108. show: true
  109. }
  110. },
  111. data: mydata
  112. }
  113. ]
  114. }
  115. let chart = echarts.init(document.getElementById('main'))
  116. chart.setOption(option)
  117. }
  118. }
  119. }
  120. </script>

项目运行效果:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NzbDEyNQ_size_16_color_FFFFFF_t_70

打完收工!

echarts 的配置项 官方文档

对于echarts chart.setOption(option) option中个项api的使用说明 请查看下一篇博客 echarts系列——echarts各项配置说明,配置项setOption()

发表评论

表情:
评论列表 (有 0 条评论,382人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue使用Echarts

    前端可视化是一个前端最基本的技能,要想做的好看,还是得借助一下百度家的echarts,那要怎么在Vue中使用echarts?这个官网没有给出实例,实例基本都是在jquery里面