2013-02-05 86 views
1

我想將圖形的圖例名稱添加到工具提示中的鼠標上,以顯示系列行。我使用了jqplot tooltip on bar chart的解決方案之一。將圖例名稱添加到JQPlot工具提示中,並在工具提示中正確格式化日期

具體來說,我使用了以下功能:

function tooltipContentEditor(str, seriesIndex, pointIndex, plot) { 
    // display series_label, x-axis_tick, y-axis value 
    return plot.series[seriesIndex]["label"] + ", " + plot.data[seriesIndex][pointIndex]; 
} 

不過,我的問題是,它並沒有採用傳說中的名字「我的傳奇的名字」,而不是它會用「1系列」的JQPlot默認或'系列5'(編號取決於系列位置)。

第二個問題是,一旦我開始使用上述功能,就會丟失日期格式。所以我得到一個數字,例如像123672378328,而不是它被轉換爲我在tickOptions中指定的格式。

我的代碼以產生所述圖表是以下:

var plot; 
function buildChart(chartDivId, graphData, chartTitle, graphSeriesNames, labelNames) { 

    var id = "#" + chartDivId; 
    $(id).empty(); 

    var seriesLine = { lineWidth:1, markerOptions: { show:false } }; 

    plot = $.jqplot(chartDivId, graphData, 
     { 
      title: chartTitle, 
      axes: 
      { 
       xaxis: 
       { 
        label:'Date', 
        renderer:$.jqplot.DateAxisRenderer, 
        tickOptions: { formatString:'%b  %#d  %H:%M' } 
       }, 
       yaxis: { label: 'Parameter Values', tickOptions: { formatString:'%.2f' }, labelRenderer: $.jqplot.CanvasAxisLabelRenderer, labelOptions : { angle: 270, fontFamily: 'Arial, Verdana, Helvetica', fontSize: '8pt' }, autoscale: true }, 
      }, 
      seriesDefaults: { 
       markerOptions: { 
        show: true, style:'filledCircle', size: 4.5  
       } 
      }, 
      highlighter: 
      { 
       show: true, 
       sizeAdjust: 7.5, 
       tooltipContentEditor:tooltipContentEditor //new code added to attempt to add legend name to mouse over tool tip 
      }, 
      cursor: 
      { 
       show: true, 
       zoom: true, 
       showTooltip: false 
      }, 
      legend: 
      { 
       labels: labelNames , 
       show: true, 
       location: 's', 
       renderer: $.jqplot.EnhancedLegendRenderer, 
       rendererOptions: 
       { 
        numberColumns: 10, 
        numberRows: 5, 
        seriesToggle: 900, 
        disableIEFading: false 
       }, 
       marginTop: '100px', 
       marginBottom: '100px', 
       placement: 'outside' 
      }  
     } 
    ); 

}

回答

2

進一步更新:

是有點傻和深挖掘向下進入JQPlot的情節對象後我意識到傳遞給tooltipContentEditor方法的str變量具有我所需要的。所以下面是解決方案:

function tooltipContentEditor(str, seriesIndex, pointIndex, plot) { 
    // display series_label with x and y values value 
    return plot.legend.labels[seriesIndex] + ", " + str; 
} 

沒有提供幫助或建議,所以我想我會提供我花了幾個小時試圖修復後找到了解決辦法。

+0

很有意思!儘管我收到了'未定義'的標籤。猜猜我把這個功能放在了錯誤的地方。我應該把它放在哪裏? – Roddeh