前言

最近公司我的项目的图表组件换成Vue-Echarts。嗯,该怎么说呢?

震惊之后,该改的代码还是要改,我负责的内容局部波及到图表的应用,因为这文章,它不就来了嘛!

应用

1. 装置

装置这一块没什么好说的,作者曾经写明确了怎么装置援用,局部援用之类的,甚至还把代码发了进去。要是不喜爱看英文文档的话,外面也有中文版的链接,我这里就间接放进去传送门

2. 应用图表组件

这里我间接摘抄作者的例子

<template>  <v-chart class="chart" :option="option" /></template><script>import { use } from "echarts/core";import { CanvasRenderer } from "echarts/renderers";import { PieChart } from "echarts/charts";import {  TitleComponent,  TooltipComponent,  LegendComponent} from "echarts/components";import VChart, { THEME_KEY } from "vue-echarts";use([  CanvasRenderer,  PieChart,  TitleComponent,  TooltipComponent,  LegendComponent]);export default {  name: "HelloWorld",  components: {    VChart  },  provide: {    [THEME_KEY]: "dark"  },  data() {    return {      option: {        title: {          text: "Traffic Sources",          left: "center"        },        tooltip: {          trigger: "item",          formatter: "{a} <br/>{b} : {c} ({d}%)"        },        legend: {          orient: "vertical",          left: "left",          data: [            "Direct",            "Email",            "Ad Networks",            "Video Ads",            "Search Engines"          ]        },        series: [          {            name: "Traffic Sources",            type: "pie",            radius: "55%",            center: ["50%", "60%"],            data: [              { value: 335, name: "Direct" },              { value: 310, name: "Email" },              { value: 234, name: "Ad Networks" },              { value: 135, name: "Video Ads" },              { value: 1548, name: "Search Engines" }            ],            emphasis: {              itemStyle: {                shadowBlur: 10,                shadowOffsetX: 0,                shadowColor: "rgba(0, 0, 0, 0.5)"              }            }          }        ]      }    };  }};</script><style scoped>.chart {  height: 400px;}</style>// tip: 每一个图表须要设置高度,否则是不显示的

通过官网的例子,咱们能够理解到比较复杂的是在于图表的配置项option,而option的配置项,咱们能够参考echarts的配置

到这里,文章就完结了(这也太水了吧!)。

俗话说了,没有问题,也要发明问题。

因为我次要是解决我负责的那块图表问题,所以并没有尝试所有的图表,这里只是列举我遇到的两个图表问题:

  1. 地图

上图是效果图,这种成果的配置项能够在echarts的配置项外面找,我也在echarts的示例外面找了一个配置项比拟相似的例子(传送门),能够借(fu)鉴(zhi)外面的配置。
有一点是须要留神的是,地图是须要本人援用的,而vue-echarts外面也有地图文件,所以咱们须要援用地图文件

// main.js    援用地图文件import chinaMap from './common/map/china.json'import worldMap from './common/map/world.json'import { registerMap } from 'echarts/core'registerMap('china', chinaMap)registerMap('world', worldMap)// 配置// 地图map: {    textStyle: {        fontFamily: 'Inter, "Helvetica Neue", Arial, sans-serif'    },    title: {        text: '粉丝地区散布状况',        left: 'center'    },    tooltip: {        trigger: 'item',        formatter: '{b}'    },    series: [        {            name: '地区散布',            type: 'map',            map: 'china',            data: []        }    ]}    
  1. 词云图

上图是echarts词云图的实现成果。词云图的配置项在当初的echarts版本中是找不到了,网上有相干的echarts的词云图依赖包(传送门),
作者也是将应用的办法和配置项写进去了,所以这一块也没有什么好说的。

须要留神的是,因为我一开始是不晓得有这个的,也是依据网上的文章找到的,然而可能是我找到的文章年代有点长远,外面的配置项说到一点是配置随机色彩这一块,外面是这么写的:

series: [{    // ……其余配置项    testStyle: {        normal: {            color: // 随机色彩code        }    }}]

这样子配置我这边是怎么都不会失效,须要把外面的normal那一层去掉,即:

series: [{    // ……其余配置项    testStyle: {        color: // 随机色彩code    }}]

因为波及到的图表不多,所以遇到的问题也没有多少,这里做一下记录,不便当前查找。

参考资料

vue-echarts的demo

Vue我的项目应用echarts实现词云图

原文链接