`

ECharts参数中回调函数的用法

 
阅读更多

 

--------------------------------------------2016-01-26编辑---------------------------------------

原文中的TOOLTIP展示数据格式只针对ECHARTS2.*系列实用,由于最近ECharts更新到3.0后发现上述代码会导致结果出现错误。现修正如下:

formatter: function(params){
					var str1, str2;
					if(params.length==2){
						if(params[0].dataIndex == params[1].dataIndex) {
							str1 = '<br><span style="color:#f9e29e">' + params[0].seriesName + ':  </span>' + (sn.addKannma(params[0].value)+"").replace(undefined,0);
							str2 = '<br><span style="color:#51def4">' + params[1].seriesName + ':  </span>' + (sn.addKannma(params[1].value)+"").replace(undefined,0);
							return params[1].name + ' - ' + params[1].name.split(":")[0] + ':59' + str1 + str2;
						}else if(params[0].dataIndex < params[1].dataIndex){
							str1 = '<br><span style="color:#f9e29e">' + params[1].seriesName + ':  </span>' + (sn.addKannma(params[1].value)+"").replace(undefined,0);
							return params[1].name + ' - ' + params[1].name.split(":")[0] + ':59' + str1;
						}else if(params[0].dataIndex > params[1].dataIndex){
							str1 = '<br><span style="color:#f9e29e">' + params[0].seriesName + ':  </span>' + (sn.addKannma(params[0].value)+"").replace(undefined,0);
							return params[0].name + ' - ' + params[0].name.split(":")[0] + ':59' + str1;
						}
					}else if(params.length==1){
						if(params[0].seriesName == '本期') {
							str1 = '<br><span style="color:#f9e29e">' + params[0].seriesName + ':  </span>' + (sn.addKannma(params[0].value)+"").replace(undefined,0);
						}else if(params[0].seriesName == '对比期'){
							str1 = '<br><span style="color:#51def4">' + params[0].seriesName + ':  </span>' + (sn.addKannma(params[0].value)+"").replace(undefined,0);
						}
						return params[0].name + ' - ' + params[0].name.split(":")[0] + ':59' + str1;
					}
				},

 

 

 

 

 

 

 

 

 


----------------------------------------------------原文-----------------------------------------------

 

以上图为中的标签label显示内容为例,配置参数如下:

tooltip : {
                    trigger: 'axis',
                    formatter : function(params){
                        return params[0].name + ":00-" + params[0].name + ":59" + '<br/>'
                                + params[0].seriesName + ":" + params[0].value + '<br/>'
                                + params[1].seriesName + ":" + params[1].value + '<br/>';
                    }
                }
[
    {

        seriesIndex: 0,
        seriesName: '一周销量',
        name: '周一',
        dataIndex: 0,
        data: data,
        name: name,
        value: value,
        percent: special,       // 饼图
        indicator: special,     // 雷达图、力导向、和弦
        value2: special2,       // 力导向、和弦
        indicator2: special2    // 力导向、和弦
    }

 

 参数中params[0]和params[1]分别为对比期和本期的数据,取他参数对应value等的属性。

 

 


 柱形图根据value自定义颜色:

 

四个值域,显式四种不同的颜色。回调函数返回json里的data就是value值。



 

series : [
   {
      name:'2011年',
      type:'bar',
      barWidth : 15,
      itemStyle:{
           normal: {
            label : {
               show: true,
               position: 'right',
               textStyle:{
                 color:'#000'
               }
            },
            color: function(dt){
                    var fz = topAreaCnt;
                    if(dt.data<=(fz * 1/4)){return '#95fffd';}
                    if(dt.data>(fz * 1/4) && dt.data<=(fz * 2/4)){return '#51ecea';}
                    if(dt.data>(fz * 2/4) && dt.data<=(fz * 3/4)){return '#97eb4e';}
                    if(dt.data>(fz * 3/4) && dt.data<=fz){return '#ffa200';}
                   }
           }
         },
      data:areaCnt
   }
]

 

折线图标签页智能化提示:

根据折线图中对比期和本期的颜色来进行着色,同时如果此时点没有数据的话不展示数据。


tooltip : {
			trigger: 'axis',
			backgroundColor: 'rgba(255,255,255,1)',
	      	borderColor: '#b4aead',
	      	borderWidth: 1,
	      	axisPointer: {
	            lineStyle: {
	              width:1,
	              color:'#ff9900'
	            }
	           },
			formatter : function(params){
				var str1,str2;
				
				if(params[0].value == '-'){
					str1 = '';
				}else{
					str1 = '<br/><span style = "color:#3582e9">' + params[0].seriesName + ":</span>    " + addKannma(parseInt(params[0].value));
				}
				if(params[1].value == '-'){
					str2 = '';
				}else{
					str2 = '<br/><span style = "color:#bede7e">' + params[1].seriesName +":</span>    " + addKannma(parseInt(params[1].value));
				}
				
				
				return params[0].name + ":00-" + params[0].name.split(":")[0] + ":59" + str1 + str2;
			},
			textStyle: {
		          color:'#000'
		        }
		}

 

  • 大小: 19.5 KB
  • 大小: 17.6 KB
  • 大小: 11.6 KB
  • 大小: 8.7 KB
  • 大小: 6.5 KB
分享到:
评论

相关推荐

    ECharts.zip_echarts qt_echarts qt_echarts+qt_qml html5_qt4.85与

    同样,ECharts 也可以通过回调函数响应 QML 的指令。 5. **样式定制**:利用 CSS3,可以调整 ECharts 的样式,比如更改图表的颜色、字体、边框等,使图表与应用的视觉风格保持一致。 6. **跨平台兼容**:由于 Qt ...

    实现Qt与Echarts之间JSON数据交互例子

    在HTML中,需要引入`qwebchannel.js`,并设置一个回调函数来接收Qt对象的更新。 5. **实例化和更新图表** 在JavaScript中,当接收到Qt对象的数据更新时,可以通过ECharts的`setOption`方法来更新图表。这个方法...

    echarts树图实现点击收缩子节点

    在回调函数中,我们需要获取到被点击节点的详细信息,包括它的子节点数据。ECharts的`params`参数会携带节点的相关信息,如`name`(节点名称)、`data`(节点数据)等。接下来,我们需要判断当前节点是否需要收缩。...

    Echarts后台获取数据绑定详细样例

    这里使用了 `$.post` 方法发送请求,回调函数中的 `data` 参数即为后台返回的 JSON 格式数据。 ##### 4. 数据处理与图表配置 接下来对获取到的数据进行处理,将其转换为适合 ECharts 绑定的格式。 ```javascript ...

    【JavaScript源代码】ECharts鼠标事件的处理方法详解.docx

    回调函数本身是主函数的一个参数,将其作为参数传入另一个主函数中。当主函数执行完成后,再执行回调函数。在这个过程中,我们可以获取到`params`对象中的数据名、系列名称等信息,并据此进行进一步的操作,如更新...

    echarts实时更新动态折线图

    5. **`interval`**:为了每2秒更新一次,我们可以设置一个定时器,例如`setInterval`,在这个定时器的回调函数中调用`setOption`来更新图表。 在JSP环境中,你可以使用jQuery的`$.ajax`或者原生的XMLHttpRequest来...

    echarts 柱状图-APP自适应完整方案代码.zip

    `formatter`回调函数用于自定义图表的标签或提示信息格式。在Echarts中,可以为`tooltip`或`series`的`label`配置项设置`formatter`,返回一个字符串或HTML片段,用于显示自定义内容。例如,我们可以结合数据值、...

    echart require js 回调

    标题中的“echart require js 回调”涉及到的是在JavaScript中使用ECharts图表库时,如何结合RequireJS模块加载器来管理和调用ECharts图表及其相关的回调函数。RequireJS是AMD(Asynchronous Module Definition)...

    js打印功能jquery.jqprint-0.3.js

    例如,你可以设置一个回调函数,在打印完成后执行: ```javascript $("#printArea").jqPrint({ afterPrint: function() { console.log("打印完成"); } }); ``` 三、实战应用 在实际项目中,jQuery.jqprint-0.3....

    Echarts入门教程

    第四步是动态加载echarts,然后在回调函数中开始使用图表。如果是单文件或非模块化项目,可以通过script标签直接引入echarts-plain.js。 其次,Echarts提供了丰富的接口供开发者使用。比如,通过require获得echarts...

    echarts的click事件

    在 `click` 事件的回调函数中,`params` 参数包含了关于点击事件的详细信息,如被点击的数据系列名称(`seriesName`)、数据项名称(`name`)、数据值(`value`)以及具体的坐标信息(`dataZoom`、`dataIndex` 等)...

    解决Vue + Echarts 使用markLine标线(precision精度问题)

    为了实现更精细的控制,Echarts还提供了一个label.formatter回调函数,我们可以通过这个回调函数来自定义标记线上的文本显示格式。 在Vue项目中使用Echarts时,通常需要通过npm安装echarts依赖。安装完成后,我们...

    Echart脚本文件,后缀名.js

    5. 绑定事件:ECharts支持各种交互事件,如点击、鼠标悬浮等,可以绑定相应的回调函数来实现交互功能。 6. 更新图表:当数据或配置发生变化时,可以通过再次调用`setOption`更新图表。 ECharts还支持动态加载和模块...

    QT和网页中的JavaScript函数进行相互调用的实现

    - 这里的回调函数用于处理JavaScript函数的异步返回结果,如果需要同步获取结果,可以使用`QWebEngineScript`来注册一个全局JavaScript对象,然后通过该对象调用JavaScript函数。 2. **JavaScript调用QT函数**: ...

    WinformECharts.zip

    在C#中,可以使用异步方法获取数据,然后在回调函数中更新ECharts的`series`数据。这样可以避免阻塞UI,提高用户体验。 4. **交互处理**:ECharts的`on`方法可以用来监听图表的事件,比如`dataZoom`事件。当用户在X...

    微信小程序异步请求echarts

    在发起请求时,我们需要设置请求的URL、方法(默认为GET)、header等参数,并提供一个回调函数来处理请求结果。例如: ```javascript wx.request({ url: 'https://example.com/data', //你的接口地址 method: '...

    echarts饼图扇区添加点击事件的实例

    2. 使用ECharts实例的`on`方法,将回调函数绑定到`click`事件上。 通过这样的方式,你就可以为ECharts饼图的每个扇区添加个性化的点击事件,提升用户交互体验。在实际项目中,记得根据你的数据结构和业务需求对`...

    echarts实现折线图的拖拽效果

    7. onPointDragging:定义了当一个点被拖拽时,要执行的回调函数。 8. showTooltip 和 hideTooltip:分别定义了鼠标移动到和移出一个点时的提示信息的显示和隐藏。 9. window.addEventListener:为窗口对象添加事件...

    springboot动态加载Echarts柱状图

    在前台代码中,我们使用 `$.ajax` 方法来发送请求,并使用 `success` 回调函数来处理返回的数据。我们使用 `JSON.parse` 方法将返回的数据解析为 JSON 对象,然后使用 `main.setOption` 方法将数据绑定到柱状图中。 ...

    echart以秒为单位的动态时间轴

    `timeline.axisLabel.formatter` 可以自定义时间标签的显示内容,你可以在这里编写一个回调函数,接收时间戳参数并返回格式化的字符串。 3. **数据加载与更新**:ECharts 支持动态加载数据,通常使用 `setOption` ...

Global site tag (gtag.js) - Google Analytics