Highchart :tooltip工具提示
Highcharts翻译系列之十六:tooltip工具提示
tooltip工具提示
参数
描述
默认值
animation
启用或禁用提示的动画。这对大数据量的图表很有用
true
backgroundColor
提示的背景色或者渐变色
rgba(255 255, 255, 0.85)
borderColor
提示的边框颜色
auto
borderRadius
边框圆角的半径
5.0
borderWidth
边框的宽度
2.0
crosshairs
显示十字线,把点和它们的轴值连接起来。十字线可以是Boolean,或者Boolean数组,或者是一个对象
null
enabled
启用或禁用提示
true
footerFormat
附加到提示格式的字符串
null
formatter
回调函数用来格式化提示的文本
positioner
一个回调函数,用来在默认位置放置提示。
null
shadow
是否显示提示的下降阴影
true
shared
当提示是共享的,整个绘图区将捕获鼠标的移动。所有序列类型的排序数据的提示文本将会显示在一个气泡(提示框)中。
false
snap
图表或单个点的感应单元。不适合条状图、柱状图和饼图切片。对于鼠标供电设备的默认值时10,对于触摸设备的默认值时25。
null
style
提示的CSS样式。
style: {color:'#333333',
fontSize: '9pt',
padding: '5px'}
useHTML
是否使用HTML代替SVG来渲染提示的内容
false
valueDecimals
每个序列的y值显示多少小数位
保存所有小数
valuePrefix
附加到序列y值的前缀
null
valueSuffix
附加到序列y值的后缀
null
xDateFormat
如果x轴是时间轴,显示在提示头部的日期格式。
基于每个点的最小距离的大约数
highcharts方面的知识很多:
http://api.highcharts.com/highcharts
http://www.52wulian.org/highcharts_api/
现在来看看我们项目中的需求吧,先明白需求才能改进啊。
当你移动到一个数据点的时候,tooltip自动提示相应的信息。但是项目中需要异步获取对此数据点的评论然后显示。
实现需求的步骤:
(0)API文档HighCharts结构如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
var chart = new Highcharts.Chart({ chart: {…} // 配置chart图表区 colors: [{...}] // 配置主体显示颜色(多个线条和柱体的颜色顺序的) credits: {…} // 配置右下角版权链接 exporting: {…} // 配置导出及打印 global: {…} // HighCharts国际化方法调用 labels: {…} // HTML标签,可以放置在绘图的任何位置 lang: {…} // 语言对象属性配 legend: {…} // 配置图例选项 loading: {…} // 配置图表加载选项 navigation: {…} // 配置导出按钮属性 pane: {…} // 仅适用于极性图表和角仪表 plotOptions: {…} // 配置数据点选项 series: [{...}] // 配置数据列选项 subtitle: {…} // 配置副标题 title: {…} // 配置标题 tooltip: {…} // 配置数据点提示框 xAxis: {…} // 配置x轴选项 yAxis: {…} // 配置y轴选项 }) |
(1)研究tooltip相应的属性:
参数名 | 说明 | 默认值 |
---|---|---|
enable | 是否显示提示框 | true |
backgroundColor | 设置提示框的背景色 | “top” |
borderColor | 提示框边框颜色 | “auto” |
borderRadius | 提示框圆角度/td> | 5 |
style | css样式 |
style: { fontSize: ’9pt’, |
formatter |
回调函数,用于格式化输出提示框的显示内容 返回的内容支持html标签如:<b>, <strong>,<br/> |
主要的参数formatter:
1
2
3
4
|
formatter: function() { return '<b>' + this .series.name + '</b><br/>' + Highcharts.dateFormat( '%Y-%m-%d' , this .x) + ': ' + this .y ; } |
这就是tooltip提示信息的内容。那要是直接把异步获取的信息的代码直接加到其中不就行了?
获取数据时异步的,tooltip中的formatter直接就返回值了,并没有等待异步加载的数据。
(2)既然直接向tooltip增加内容不可以,可以自己写一个div,然后显示评论信息,div然后随着数据点位置的改变而改变而改变位置。
highcharts的events只有click,mouseOver,mouseOut事件。
步骤:
(3)首先自己写个div
<div id="reporting"></div>
(4)div的样式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<style> #reporting { position: absolute; top: 35px; right: 20px; text-align:left; border:1px solid #c7bf93; border-radius:4px; -moz-border-radius:4px; -webkit-border-radius:4px; padding:6px 8px; min-width:50px; max-width:225px; color:# 000 ; } </style> |
(5)重写 mouseOver(主要就是获取数据,并且显示), mouseOut(隐藏div)事件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
mouseOver: function() { var itemPriceId2 = map1.get( this .series.name); var pointer = this ; //var tooltip = pointer.series.tooltipPoints; $.post( "<%=request.getContextPath()%>/calculator/listJsonCalComment.action" , {itemid :itemPriceId2,type: '2' , dataDate : Highcharts.dateFormat( '%Y-%m-%d' , this .x) }, function(data){ $( "#reporting" ).html(data); var left = pointer.plotX- 110 ; if (left < 0 ){ left = 0 ; } $( "#reporting" ).css( "left" ,left + "px" ); $( "#reporting" ).css( "top" ,pointer.plotY+ 75 + "px" ); $( "#reporting" ).show(); }, 'html' ); }, mouseOut: function() { $( "#reporting" ).hide(); } |
注意:后获取数据点位置的时候,废了很大的劲,这方面的资料很少,只能自己研究highcharts的源码。
pointer.x是x轴的值,pointer.y是y轴的值,和位置并没有任何关系。
pointer.plotX,pointer.plotY是数据点的位置。本来一开始想获取tooltip的位置,搞了半天发现tooltip相应信息保存到tooltipPoints数组中,tooltipPoints是一个对象,里面保存了每一个数据点的tooltip提示信息的属性。难点是还需要研究index值是怎么来的,获取数据点相应的tooltip在tooltipPoints索引。
(6)默认的div隐藏
1
2
3
4
|
$(document).ready(function() { //首先隐藏评论信息的显示区 $( "#reporting" ).hide(); }); |
好了,现在看看样子吧:
Highchart :tooltip工具提示的更多相关文章
- microtip Tooltip工具提示样式
最近开发项目,想增加滑动提示文字,类似img alt和i的title,但是效果都不是很理想,当然jq也有,但是用起来比较繁琐,使用不是特别方便 于是在github上看到了一个不错的库: https:/ ...
- Bootstrap 标签页和工具提示插件
一.标签页 标签页也就是通常所说的选项卡功能. //基本用法 <ul class="nav nav-tabs"> <li class="active&q ...
- 关于【bootstrap】中,【tooltip】的不算bug的bug的个人看法
先说下遇到这个问题的背景吧. 就是在页面中有个div,这个div右上角(或者其他位置)有个 × 的图标(这个图标添加tooltip工具提示),光标移到这个图标时,触发tooltip,提示“点击移除”这 ...
- 第二百四十五节,Bootstrap标签页和工具提示插件
Bootstrap标签页和工具提示插件 学习要点: 1.标签页 2.工具提示 本节课我们主要学习一下 Bootstrap 中的标签页和工具提示插件. 一.标签页选项卡 标签页也就是通常所说的选项卡功能 ...
- HighCharts/Highstock使用小结,使用汉化及中文帮助文档
此文档是本人在开发过程图形报表时使用HighCharts所遇到的问题及解决方案 .最后附上有HighCharts中文帮助文档 HighCharts 版本:Highcharts-3.0.1 Hi ...
- 4_jquery
官网:www.jquery.com 兼容: 1.jquery-3.1.0.js :form.attr("checked","false")无效 2.firefo ...
- jQuery基础课程
环境搭建 搭建一个jQuery的开发环境非常方便,可以通过下列几个步骤进行. 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库 ...
- jqueryUI 插件
1,拖拽插件 draggable 拖拽插件draggable的功能是拖动被绑定的元素, 当这个jqueryUI插件与元素绑定后,可以通过调用draggable()方法,实现何种拖拽元素的效果 $(s ...
- 不就是抽个血吗,至于么-jQuery,Linux完结篇
hi 趁着周一去抽血化验,真开心...下午报告才出来,不过早上来了就开始各种晕菜,叫错名字,说错话.....至于么.. 还有在教研室的30天就可以肥家了,凯森凯森.今天不想干活(哪天想干过我就问问), ...
随机推荐
- SQL Server 排序函数 ROW_NUMBER和RANK 用法总结
下面的例子和SQL语句均在SQL Server 2008环境下运行通过,使用SQL Server自带的AdventureWorks数据库. 转载请注明此文原创自 CSDN TJVictor的专栏:ht ...
- gshop.data 编辑器通杀版本 支持146-151版本
EXE下载:http://files.cnblogs.com/xe2011/EXEgshop.dataeditorV1.42014-3-11-204242.7z C#:http://files.cnb ...
- Android Studio 完美修改应用包名
我们平时新建项目有些朋友可能当时就是随意写的一个包名,然后在项目过程中, 又感觉这个包名不太好,所以就要对包名进行修改,根据我们正常的修改方式,是这样的. 在种情况是只能修改最外层的那个名称, 如果我 ...
- java23 XML
XML:可扩展标记语言. xml可以当成一个小型的数据库, html / \ html5 xhtml(格式比较严格) | xml xml解析方式有2种: -SAX,SAX是基于事件流的解析,事件流解析 ...
- Modify the average program to promote for intergers repeatedly.stop when a nagetive number is entere
#include<stdio.h> int main(void) { intcount ,sum,aninterger; printf("enterthe interger an ...
- 3.redis.3.2 下载,安装、配置、使用、集群主从创建 - 3
当然,集群最主要的就是配置文件: 简单配置如下, port 7001 bind 127.0.0.1 databases 16 appendonly yes appendfilename "a ...
- WCF学习系列二_使用IIS发布WCF服务
原创作者:灰灰虫的家http://hi.baidu.com/grayworm 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS2008自带的WCFSVCHost(WCF服务主机)发 ...
- Prism for WPF 第一讲 Event机制
在本篇文章中主要讲解在Prism中模块与模块之间事件关联的机制.在这里牵涉到三个名词:事件定义,事件发布,事件订阅. 第一:事件定义 在公共类库中定义事件. ①没有参数事件 public class ...
- 转JSONObject put,accumulate,element的区别
public Object put (Object key, Object value) 将value映射到key下.如果此JSONObject对象之前存在一个value在这个key下,当前的 ...
- 01_JavaMail_04_带附件邮件的发送
[工程截图] [代码实例] package com.Higgin.mail.demo; import java.io.File; import java.util.Properties; import ...