荧光笔(jquery-jqplot)有3个值(而不是2个)

时间:2011-04-02 03:02:30

标签: jquery jqplot jqplot-highlighter

我正在使用jquery插件jqplot。我有一个带有三个元素的元组,在图形上,元组的第一个元素是xaxis,而yaxis是第二个元素。荧光笔需要显示元组的x,y和第三个元素。类似的东西:

curve1=[**[x,y,date],** [1, 2,'28-May-11'], [2, 4,'30-May-11'], [3,7,'31-May-11']];

荧光笔显示:第一个点为(1 , 2 , '28-May-11'),第二个点为(2,4,'30-May-11') ...

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

一种解决方案是在jqplot.highlighter.js方法中对showTooltip进行少量修改。 在此方法中,以下行用于将html分配给工具提示元素:

elem.html(str);

出于您的目的,您可以使用以下内容覆盖此分配:

elem.html('(' + neighbor.data[0] + ', ' + neighbor.data[1] + ', ' + neighbor.data[2] + ')');

由于neighbor.data用于表示包含3个值的元组:x,y和date。

...替代地

更通用的解决方案将允许从前端动态生成工具提示文本(而不是在highlighter.js内处理固定的格式化策略)。在这种情况下,您可以使用以下内容替换上述更改:

elem.html(neighbor.data[2]);

然后将您的元组的第三个元素从日期(我假设仅用于工具提示的目的)更改为工具提示文本本身。

例如,您的元组可能如下所示:

curve1=[ [1, 2, '(1, 2, 28-May-11)'], [2, 4, '(2, 4, 30-May-11)'], [3,7, '(3, 7, 31-May-11)'] ];

甚至是这样:

curve1=[ [1, 2, 'On 28-May-11 there were 2 instances.'], [2, 4, 'Then on 30-May-11 there were 4.'], ...];

希望有所帮助。