jqplot工具提示内容编辑器

jqplot tooltip Content Editor

本文关键字:编辑器 工具提示 jqplot      更新时间:2023-09-26

我在显示jq绘图条形图的工具提示时面临问题我的jqPlot代码是

<script class="code" type="text/javascript">
$(document).ready(function(){
    var s1 = [0,10,20,30,40,50,60,70,80,90,100];
    var s2 = [-100,-90,-80,-70,-60,-50,-40,-30,-20,-10,-0];
    var ticks = ['01-jun','02-jun','03s-jun','04-jun','05-jun','06-jun','07-jun','08-jun','09-jun','10-jun'];
    var plot1 = $.jqplot('chart1', [s1, s2], {
        animate: !$.jqplot.use_excanvas,
        stackSeries: true,
        seriesDefaults:{
            renderer:$.jqplot.BarRenderer,
            rendererOptions: {fillToZero: true, barPadding: 10,barMargin: 15},
            pointLabels: { show: true }
        },
        series: [
                { color: '#68BA38',label:'Uptime' },
                { color: 'red',label:'Downtime' },
                { label:'abcd' }
        ],
        legend: {
            show: true,
            placement: 'outsideGrid'
        },
        axes: {
            // Use a category axis on the x axis and use our custom ticks.
            xaxis: {
                pad: 1,
                renderer: $.jqplot.CategoryAxisRenderer,
                ticks: ticks
            },
            // Pad the y axis just a little so bars can get close to, but
            // not touch, the grid boundaries.  1.2 is the default padding.
            yaxis: {
                pad: 1,
                min:-100,
                max: 100,
            }
        },
        highlighter:{
        show:true,
        tooltipContentEditor:tooltipContentEditor
    },
    });
});
function tooltipContentEditor(str, seriesIndex, pointIndex, plot) {
    // display series_label, x-axis_tick, y-axis value
    return plot.series[seriesIndex]["label"] + ", " + plot.data[seriesIndex][pointIndex];
}
  </script>

它的显示工具提示如下:正常运行时间,20或停机时间,-20

我想显示包含我的勾号值的工具提示,如:01 jun

我自己也有这个问题,所以我使用Firefox的Web Developer工具来检查tooltipContentEditor函数中的plot对象,以找到x轴标签的位置。它在plot.options.axes.xaxis.ticks中。因此,您想要获得数据点的x轴标签的代码是:

plot.options.axes.xaxis.ticks[pointIndex]

这是所讨论的点索引的x轴标签。

我现在使用的回调函数的完整代码是:

function tooltipContentEditor(str, seriesIndex, pointIndex, plot) {
    return plot.series[seriesIndex]["label"] + ": " + plot.options.axes.xaxis.ticks[pointIndex] + ", " + plot.data[seriesIndex][pointIndex];
}

这将显示序列标签、x轴刻度标签,然后显示数据点值。

我认为它可能类似

return ticks[pointIndex];