echarts 折线图小技巧

echarts 折线图功能丰富且官方文档详细易懂,上手比较容易,这篇文章将分享一些项目中踩过的坑,示例主要以多条曲线为主,对大家完成一些 曲线、tooltip 和 markline 的展示及交互有所帮助

基本使用

echarts文档 写得非常详细、清晰,官方示例也很丰富,gallery 中还有很多功能更强大的示例

tooltip篇

echarts 的 tooltip 是很强大友好的,样式优雅,内容可以自定,还可以通过配置项设定内容格式,结合 API[5] 绑定事件

要在图表中添加 tooltip,只需要增加以下配置项

tooltip: {
trigger: 'axis'
},

我们接下来一起看看 tooltip 的几个简单的配置(具体说明请参考官方文档):

tooltip: {
trigger: 'axis', //坐标轴触发,可设为 item 数据项图形触发
confine: true, //将 tooltip 框限制在图表的区域内,在移动端开发时非常有用
// position 可以自己设定 tooltip 的位置,下面例子是在老版本 echarts 不支持 confine 属性时写的一个当提示左侧超出画布时的限制函数
position: function(point, params, dom, rect, size){
if(dom.contentSize.width+20>point[0]){ //tooltip宽度 + 20 大于鼠标横向位置时,强制避免提示超出左侧画布
return {left: 10, top: point[1]}
}
},
// formatter 设置提示的文字内容(需要改变样式可通过 rich 富文本实现,见文档),要在 tooltip 中显示单位,可通过函数 params 拼字符串加上如下面 % 的单位
formatter: function(params){
return params[0].marker+'<br/>'+params[0].seriesName+': '+params[0].value+'%'
}
},

也可直接设置 formatter: "{b}<br/>{a}: {c}%"

折线单个点不显示处理

echarts 折线的使用大家可以直接参考echarts 折线图,在此不多赘述,下面直接看一下我们项目中遇到的显示问题。
由于 echarts 折线默认标注出与坐标刻度对应的折线的点,在折线上有不与坐标轴对应的散点(前后值为空)时,在数据量较少时可直接设置

series: [{
type: 'line',
showAllSymbol: true //标注所有数据点
}]

但数据量较大时,这种方式就不适合了,仔细阅读文档后找到了以下思路,标注所有数据点后,逐个设置symbolSize的大小,从而实现标注出需要显示的点

series: [{
type: 'line',
showAllSymbol: true //标注所有数据点,
data:[{
value: 12,
symbolSize: 0,
},{
value: 12,
symbolSize: 4,
}]
}]

项目中可以根据实际需求写循环进行设置,对这个问题的说明就到这里,喜欢的话请关注,点赞,收藏~谢谢阅读!

【echarts3】 折线图我踩过的那些坑 (tooltip 设置,line 单个点/散点不显示问题)的更多相关文章

  1. 百度推出的echarts,制表折线图柱状图饼图等的超级工具(转)

    一.简介: 1.绘制数据图表,有了它,想要网页上绘制个折线图.柱状图,从此easy. 2.使用这个百度的echarts.js插件,是通过把图片绘制在canvas上在显示在页面上. 官网对echarts ...

  2. DevExpress使用之ChartControl控件绘制图表(多坐标折线图、柱状图、饼状图)

    最近因为公司项目需要用到WinForm的DecExpress控件,在这里把一些使用方法总结一下. DevExpress中有一个专门用来绘制图表的插件ChartControl,可以绘制折线图.饼状图.柱 ...

  3. Echarts line折线图使用(vue)

    实现 首先引入echarts工具 // vue文件中引入echarts工具 let echarts = require('echarts/lib/echarts') require('echarts/ ...

  4. C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展

    一.需要实现的目标是: 1.将数据绑定到pie的后台数据中,自动生成饼图. 2.生成的饼图有详细文字的说明. 1.设置chart1的属性Legends中默认的Legend1的Enable为false: ...

  5. jfreechart折线图 demo

    public class ChartUtil { public static ChartUtil chartUtil; private RoomViewsDataService roomViewsDa ...

  6. Android 使用 MPAndroidChart 实现折线图

    Android 使用 MPAndroidChart 实现折线图 做Android项目的时候用到了折线图,不光折线图,还可能遇到很多的图表需要展示渲染,自己手画的话那好玩了,今天使用MPAndroidC ...

  7. ECharts绘制折线图

    首先看实现好的页面 实现 首先引入echarts工具 // vue文件中引入echarts工具 let echarts = require('echarts/lib/echarts') require ...

  8. vue中使用 echarts3.0 或 echarts2.0 (模拟迁徙图,折线图)

    一.echarts3.0(官网: http://echarts.baidu.com/) 首先通过npm安装echarts依赖,安装的为3.0版本 npm install echarts -s 也可以使 ...

  9. 基于SpringMVC框架使用ECharts3.0实现折线图,柱状图,饼状图,的绘制(上篇)

    页面部分 <%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE html> ...

随机推荐

  1. [LC] 289. Game of Life

    According to the Wikipedia's article: "The Game of Life, also known simply as Life, is a cellul ...

  2. 初识OpenGl

    函数命名规则 OpenGl函数都遵循一个命名约定:<库前缀> <根命令> <可选参数个数> <可选参数类型> 如:glColor3f() ,gl:核心库 ...

  3. Nearby Bicycles

    With fast developments of information and communication technology, many cities today have establish ...

  4. Ajax - XMLHTTP实例

    url:http://localhost/index.htm <html> <head> <title>Ajax</title> <script ...

  5. python中字母与ASCII码之间的转换以及进制间的转换

    字母与ascii码: ord(c):参数是长度为1的字符串,简称字符.当参数为统一对象时(unicode object),返回能代表该字符的统一编码,当参数为8比特的字符串时,返回该字节的值.例如,o ...

  6. Integer 中的缓存类 IntegerCache

    我们先看一段代码: public class TestAutoBoxing { public static void main(String[] args) { //-128到127之间 Intege ...

  7. OpenCVSharp对图像进行颜色分割

    使用OpencvSharp的InRange函数对图像进行RGB颜色的分割. using System; using OpenCvSharp; using OpenCvSharp.Extensions; ...

  8. Java捕获并处理线程失败抛出的异常

    使用 UncaughtExceptionHandler 示例代码如下: Thread.UncaughtExceptionHandler handler = new Thread.UncaughtExc ...

  9. <JZOJ5944>信标

    emmm树形dp?好像是的 搬一个题解证明过来 由于在n>1时答案至少为1,我们枚举一个必须放的根, 所有深度不同的点就被区分开了. 设一个节点有c个儿子, 发现必须在其中至少c−1个儿子的子树 ...

  10. 升级本地已安装的 Node 和 npm 版本

    Mac升级本地已经安装的NodeJs和Npm到最新版,可以使用一下方式进行升级和更新. 其实windos上升级nodejs也很简单,只需在nodejs官网下载安装最新的msi即可. 值得注意的是安装时 ...