npm 包 echarts-gl 使用教程

阅读时长 6 分钟读完

简介

Echarts 是一个基于 JavaScript 的开源数据可视化库, 旨在提供直观、生动、可交互、可个性化定制的数据可视化图表。而 echarts-gl 是 echarts 的一个扩展,主要是针对大数据量的 3D 数据展示,它集合了 echarts + webGL 技术。本文主要介绍 echarts-gl 的使用方法与注意事项,以及示例代码的讲解。

安装 echarts-gl

在使用 echarts-gl 之前,需要先安装 echarts。如果未安装 echarts,则需要先安装:

接着,再安装 echarts-gl:

安装完成后,可以在项目中引入 echarts-gl:

echarts-gl 的基本使用

先贴上一个简单的 echarts-gl 使用示例:

-- -------------------- ---- -------
----- ------ - -
  ------ -
    ------------ -------
    -------------- -------
    ------------------ --
    -------- ----------
    ------------ ------------------------------------------------------------------------------------
    ------ -
      -------- -
        ---------- ----
      --
      ----- -
        ---------- ----
        ------- -----
      --
    --
  --
  ------- --
    ----- ----------
    ----------------- --------
    ----- ------
    ------- -
      ----- -----
      ----------- --
      ------------ ----
      ------------- --
      ----------- --------- -- ----
    --
    ---------- -
      ------ --
      ------ ---------- ---- --- ------
    --
    ---------- ----------
  ---
--

----------------------------------------------------------------

可以看到,echarts-gl 的使用与 echarts 基本类似。核心在于 echarts-gl 的系列类型(seriesType)与坐标系(coordinateSystem)。

在 echarts-gl 中,下面这些坐标系支持 3D 视觉:

  • globe,
  • mapbox3D,
  • map3D,
  • surface。

接下来,我们会以 globe 作为主要的示例来展示其详细的使用方法。

globe 球形图

globe 球形图是 echarts-gl 中最常用的 3D 坐标系之一,它支持平面坐标系(geo)和像素坐标系(none)数据源。下面是一个 globe 球形图的示例:

-- -------------------- ---- -------
----- ------ - -
  ------ -
    ------------ -------
    -------------- -------
    ------------------ --
    -------- ----------
    ------------ ------------------------------------------------------------------------------------
    ------ -
      -------- -
        ---------- ----
      --
      ----- -
        ---------- ----
        ------- -----
      --
    --
  --
  ------- --
    ----- ----------
    ----------------- --------
    ----- ------
    ------- -
      ----- -----
      ----------- --
      ------------ ----
      ------------- --
      ----------- --------- -- ----
    --
    ---------- -
      ------ --
      ------ ---------- ---- --- ------
    --
    ---------- ----------
  ---
--

----------------------------------------------------------------

上面的代码中,我们设置了球形图的一些基础信息,如:底图(baseTexture),高端纹理(heightTexture)、位移比例(displacementScale)、渲染模式(shading)、环境变量(environment)、光照属性(light)等等。

接着,我们通过 series 中的数据属性来添加展示的数据,此处是添加了 lines3D 类型的数据。

globe 球形图展示效果优化

在 echarts-gl 中,globe 的展示效果需要经过优化处理,否则可能存在跳动、卡顿等问题。下面介绍几种提升展示效果的方法:

数据优化

  • 数据数量过大:在实际的场景中,可能存在数以万计的坐标点需要展示。此时,可以考虑对多个点进行合并,避免数据过大造成页面的卡顿。

  • animation 和 effect ,特别是纹理 effect,影响整个页面的帧率,数据量再大就会出现卡顿。

避免反复计算

  • 坐标系数据来源的更改会刷新整个坐标系,性能开销巨大,体现为卡顿或黑屏。

  • 谨慎使用带留尾效果的动画(类似流星、拖尾等),反复重绘图形。

合理配置

  • 单下钻时,避免使用处于全局坐标系的“pillars”系列。

  • 定制符号大小系数系要适中,使用过大则会导致图案重叠,消耗大量性能。

  • 坐标系默认自适应画布,一些配置可能对自适应有影响,需要细心。

结语

通过本篇文章的介绍,相信大家对 echarts-gl 的使用、展示效果优化有了进一步的了解。在实际的应用中,需要根据自身项目的需求和数据特点,灵活调整展示的方式和效果来达到更优的结果。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedabd1b5cbfe1ea0610887

纠错
反馈