关于javascript:vueecharts初次体验

前言

最近公司我的项目的图表组件换成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实现词云图

原文链接

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理