我有2个时间点,我想分享'工具提示。但是,我有一个问题,即只有每个系列的第一个点对齐并共享工具提示。其余的点略有错位,因此无法同时显示在工具提示中。
这个小提琴将有助于证明这个问题。 Fiddle
如果将鼠标悬停在第一个点上,则会显示工具提示,其中包含两个系列的条目。但是下一个数据点只在工具提示中显示一个条目。
请问您的意见?我错过了什么'调整'两个系列都是为了分享工具提示?显然,仅添加
是不够的tooltip: {
shared: true,
}
谢谢。
答案 0 :(得分:1)
假设最终目标是根据一天中的时间比较两个不同的日期,并假设数据点是定期的,或者足够接近并且可以被捏造(即每小时1点,或每10点)分钟等),我会采用不同的方法:
1)使用单个日期。它可以是今天的日期,或任何其他日期,它并不重要,因为时间是日期字符串的重要部分。
2)使用pointInterval
和//use the current date as the base - the date doesn't matter, just the time
var d = new Date();
var date = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0,0,0);
var pointStart = date.getTime();
var pointInterval = 3600 * 1000 // 1 hour
属性设置正确的时间(基于人工日期,但是正确的时间间隔)
3)将每个数据系列的实际日期设置为系列名称,该名称将显示在图例和共享工具提示中,以正确显示每个数据集的日期。
4)使用x轴标签上的格式选项仅显示标签的时间部分而不显示日期
通过这种方式,您无需使用第二个x轴,删除了工具提示格式中的任何复杂情况,无需使用更复杂的数据结构(例如评论中)(" {" y" :0.87," realDateTime":' 25/12/2015 03:00'}"),只需将适当的日期传递给每个系列的name属性
series: [{
name : 'Apr 17, 2015',
data : [2,5,8,9,8,7,4,5,6,9,8,7,8,9,8,7,8,5,3,2,1,4,4,5]
},{
name : 'Jun 12, 2015',
data : [3,6,9,5,4,7,8,5,2,1,4,5,9,8,7,5,6,9,8,7,4,5,6,3]
}]
GMailSender.sendMail()
示例:
[[当然,你可以根据需要用尽可能多的不同日期来做到这一点(虽然这很多显然没有意义):
]]
答案 1 :(得分:0)
我知道这是一个老问题,但我发现可行的替代方法是将数据重新格式化为CSV格式并为data module添加导入。
在Highcharts网站上有一个演示,它在here上完成了你所要求的(虽然嵌套在ajax请求中)。这里的两个关键部分是:
<script src="https://code.highcharts.com/modules/data.js"></script>
和
data: {
csv: csvData
}
该示例读入实际的csv文件,但它接受任何格式相似的字符串。另外,如果您在该csv字符串中设置标题,则无需在系列选项中声明其名称。