我正在使用Cursor插件在jqplot图表上显示垂直线。 Cursor插件的工具提示显示X和Y值。
我想在绘图点添加一段元数据。
[x,y,1337]其中1337是元细节。
我想修改Cursor插件工具提示以显示此metadeta以及它已显示的数据。
使用案例:我有多个系列已在所有系列中按比例缩放到0-100以进行趋势分析。我需要显示未缩放的值。
更新:
我通过破解jqplot.cursor.js来实现它,有更好的方法吗?
Line 468: function updateToolTip(gridpos, datapos, plot){
// ...
s += $.jqplot.sprintf(c.tooltipFormatString, label, sx, sy, data[2]);
答案 0 :(得分:2)
这是我覆盖tooltipContentEditor
jqplot函数的方法,它运行得很好。
highlighter: {
show: true,
showMarker:true,
showTooltip:true,
sizeAdjust: 10,
tooltipLocation: 'se',
tooltipAxes: 'xy',
yvalues: 1,
formatString:'<table class="jqplot-highlighter"><tr><td>date:</td><td>%s</td></tr><tr><td>PiecesPerHour:</td><td align="right">%s</td></tr></table>',
useAxesFormatters: true,
tooltipContentEditor: function(str, seriesIndex, pointIndex, plot){
var data = plot.series[seriesIndex].data[pointIndex];
var label = plot.legend.labels[seriesIndex].indexOf('Target')
var format = [];
//A little formatting to the data before I join it to the Html string
if (that.model.get('groupBy')==='month')
format[0] = new Date(data[0] + 1000*60*60*24).format('mmmm yyyy');
else
format[0] = new Date(data[0] ).format('mmmm dd, yyyy');
format[1] = new Number(data[1]).toFixed(1)
//join the data to the Html string:
str = $.jqplot.sprintf.apply($.jqplot.sprintf, [str].concat(format));
return str;
}
}
基本上你得到Series和Point数据并用sprintf将它连接到一个Html字符串,然后返回字符串。