转载编辑。 原作者链接地址:https://zhuanlan.zhihu.com/p/25353670?group_id=827655855632715776

水球图是一种适合于展现单个百分比数据的图表类型,ECharts 的水球图插件使你能够通过非常简单的配置,实现酷炫的数据展示效果。

第一步:引入 JavaScript 文件

ECharts 的水球图是一个插件类型的图表。这意味着,在 ECharts 官网下载的完整版本将不包含水球图——这保证了不需要使用该图表的用户能够获得一个尽可能小的代码版本。使用时,需要在引入 echarts.js 之后,另外引入水球图对应的 echarts-liquidfill.js,可以在 GitHub 找到最新版本。

第二步:指定 DOM 元素作为图表容器

和创建 ECharts 的其他图表一样,我们需要指定 DOM 中的一个有高度和宽度的元素作为图表的容器——也就是图表将会绘制的位置。

定义式样

<style>
html, body {
width: 100%;
height: 100%;
margin: 0;
background: #F1F7FF;
}.chart {
width: 100%;
height: 500px;
float: left;
}</style>

定义DOM对象

<div id="liquidfill-chart" style="width=100%; height=100%">
<div class="chart"></div></div>

传入该 DOM 元素,使用 ECharts 初始化图表:

var chart = echarts.init(document.getElementsByClassName('chart'));

第三步:设置水球图参数

和其他 ECharts 图表一样,水球图提供将系列的 type 指定为 ‘liquidFill’(注意大小写)来表明这是一个水球图类型。

一个简单的配置项可以是:

var option = {series: [{type: 'liquidFill',data: [0.6, 0.5, 0.4, 0.3]}]
};
chart.setOption(option);

这样,就能得到水球图效果了:

水球图支持非常高度定制化的需求,包括颜色(color)、大小(radius)、波的振幅(amplitude)、波长(waveLength)、相位(phase)、周期(period)、移动方向(direction)、形状(shape)、动画(waveAnimation)等等,完整的配置项参数参见水球图 API。文档有针对每个配置项的详细说明,这里我们来介绍一些重要的参数。

direction 设为 ‘left’ 或 ‘right’,指定波浪的移动方向,或者设为 ‘none’ 表示静止。

shape 设置:除了默认的圆形(‘circle’)水球图,还可以将 shape 设置为 ECharts Symbol 的其他类型:‘rect’、‘roundRect’、‘triangle’、‘diamond’、‘pin’、‘arrow’。甚至,使用 ‘path://…’ 的形式,为其指定一个 SVG 路径,得到非常酷炫的效果

data 中的一项默认是一个数字,而在需要做特殊定制的数据中,我们将其设置为一个对象,value 值是原先的数字,其他配置项将覆盖系列配置项的值。

以下代码将第二条水波设为红色,并且改变其移动方向。

var option = {series: [{type: 'liquidFill',data: [0.6, {value: 0.5,direction: 'left',itemStyle: {normal: {color: 'red'}}}, 0.4, 0.3]}]
};

水球图中间的文字有个酷炫的效果,在水波和背景前的文字颜色是不同的,可以通过 insideColor 设置水波处的文字颜色,color 设置背景处的文字颜色。

var option = {series: [{type: 'liquidFill',radius: '80%',data: [0.5, 0.45, 0.4, 0.3],label: {normal: {textStyle: {color: 'red',insideColor: 'yellow',fontSize: 50}}}}]
};

图表中间默认显示百分比数据,如果你需要将其设置为其他文字内容,可以通过 formatter 指定,这与 ECharts 的其他格式化函数也是相同的。

formatter 可以是一个字符串,其中 ‘{a}’、’{b}’、’{c}’ 会被分别替换成系列名称、数据名称、数据值。

如:

var option = {series: [{type: 'liquidFill',name: 'Liquid Fill',data: [{name: 'First Data',value: 0.6}, 0.5, 0.4, 0.3],label: {normal: {formatter: '{a}\n{b}\nValue: {c}',textStyle: {fontSize: 28}}}}]
};

此外,formatter 也可以是一个函数,以下代码能得到和上面字符串形式同样的效果。

formatter: function(param) {return param.seriesName + '\n'+ param.name + '\n'+ 'Value:' + param.value;
}

更完整的配置项请参考 GitHub 上详细的文档,或者到 ECharts Gallery 上查看其它水球图作品。

ECHARTS 水球图相关推荐

  1. vue echarts 水球图 多个水球图并存配置

    echarts 水球图 下面介绍为vue-cli开发环境下 npm下载 npm install echarts --save npm install echarts-liquidfill --save ...

  2. echart水滴_漂亮得不像实力派:ECharts 水球图教程

    水球图是一种适合于展现单个百分比数据的图表类型,ECharts 的水球图插件使你能够通过非常简单的配置,实现酷炫的数据展示效果. 那么,今天我们就一起来学习一下,如何使用 ECharts 水球图. 第 ...

  3. echarts 水球图

    // ECharts 水球图插件,需要额外插件脚本,参见上方"脚本" // 完整配置参数参见:https://github.com/ecomfe/echarts-liquidfil ...

  4. vue3+ts 之echarts 水球图 liquidFill 的使用

    vue3+ts 之echarts 水球图 liquidFill 的使用 前言 一.echarts liquidfill.js水球图插件 二.使用步骤 1.上代码 总结 前言 项目框架使用的是 vben ...

  5. html5 加速球 效果,css 渐隐渐现、echarts 圆环图、百度地图覆盖物、echarts水球图(360加速球效果)...

    说一下知识点: 1.水球是echarts的插件echarts-liquidfill,官网下载-扩展下载中可以拿到,git传送阵https://github.com/ecomfe/echarts-liq ...

  6. 微信小程序 ECharts 水球图

    效果图: 水球图插件 git地址:https://github.com/ecomfe/echarts-liquidfill#api 下载后,将dist下面的echarts-liquidfill.min ...

  7. Echarts 水球图设置基准线

    *前言:最近的项目需求中,要求在水球图中加一条标准线(作为报警提示线). 1.效果如下: 2.思路: 注意:如果是直接在水球图上画标线   是实现不了的. 所以我们换种思路(大佬指点了一下),在折线图 ...

  8. echarts水球图

    在项目当中我们可能会遇到这种图,这种叫水球图,但是我们如果要写的话,得安装 npm install  echarts-liquidfill --save 安装好之后我们就可以在项目当中使用了,以下是代 ...

  9. echarts 水球图 自定义水球颜色

    项目中有一个水球图表示电池电量的需求:电量20%以下时显示红色,20%-30%时显示为黄色,30%以上显示蓝色 var option = {series: [{type: 'liquidFill',d ...

最新文章

  1. R语言ggplot2可视化:为层次聚类树状图dendrogram中的簇进行着色、在树状图dendrogram中为不同的层次聚类簇配置不同的色彩
  2. windows和linux文件的转换
  3. 大话synchronize底层原理
  4. Web Broadcast Channel
  5. java scanner构造函数_Point类的构造函数(JAVA)
  6. 考拉Android全局滑动返回及联动效果的实现
  7. 凸优化第八章几何问题 8.6 分类
  8. mysql ---- 全文索引:中文语义分词检索
  9. python恶搞图_Python恶搞代码
  10. 爱好-超级IP:超级IP
  11. H5 canvas游戏开发教程集合
  12. 利用python爬取图片_利用Python爬取网页图片
  13. WASCE (基于geronimo ) 配置
  14. php+dns+缓存,清理电脑dns缓存方法
  15. 海兰一体计算机配置,新一代办公神器!海兰一体机G40 plus为何受职场人士追捧?...
  16. Asp连接数据库时的问题Microsoft OLE DB Provider for ODBC Drivers error ‘80004005‘
  17. 2019最应该投资什么?是你明年的北大核心
  18. H5游戏开发包括哪些游戏类型
  19. jquery--拖拽效果
  20. 密码学Kerberos协议理解

热门文章

  1. 现实题材网络文学正打开广阔天地
  2. 以太网,令牌网,FDDI,ATM,WLAN的区别
  3. AlphaFold2源码解析(4)--模型架构
  4. [网络安全设备——物理隔离设备2]物理隔离网闸常见概念问题解答
  5. 100亿资助!施一公领衔的“新基石研究员项目”,正式发布!
  6. Linux技巧之磁盘格式化命令
  7. 湖南快乐阳光互动娱乐传媒有限公司诉被告杭州三基传媒有限公司侵害作品信息网络传播权纠纷一案
  8. android动画如何更新UI(ValueAnimator源码解析)
  9. STM32双轴摇杆控制空心杯电机
  10. Description 现举行新生歌手大赛,评分规则是这样的:一共有10个评委给每个歌手打分,分数采用 百分制,算分时去掉一个最高分,去掉一个最低分,取其余8个评委的平均分作为歌手的 得分。现有多个歌