2012-02-16 8 views
4

3つの異なるシリーズのjQPlot折れ線グラフがあり、各シリーズのデータ​​ポイントにホバーオーバーを表示するには、ハイライタープラグインを使用しています。私はグラフの各行にハイライターのためのさまざまなオプションを使用したいと思います。jQPlot Highlighter - 各シリーズのさまざまなハイライターオプション

行1と2はy値を表示する必要があり、行3はy値とメッセージを表示する必要があります。たとえば、1行目のホバーオーバーは「10」、3行目は「Target = 25」でなければなりません。

特定のシリーズごとに異なるオプションを指定する方法がないようです。どんな助けでも大歓迎です。

答えて

10

各シリーズにハイライトオブジェクトを追加し、フォーマット文字列を指定します。あなたは「x」と「y」の値はaxes.yaxis.tickOptions.formatStringオプションで使用されるフォーマットせずに特定のシリーズのハイライトに渡さ取得したい場合は

var series1 = [[1, 2], [2, 3], [3, 4]]; 
var series2 = [[6, 7], [7, 8], [8, 9]]; 

var plot = $.jqplot('chart1', [series1, series2], 
{ 
    series:[ 
     { 
      highlighter: {formatString: "%d"} 
     },   
     { 
      highlighter: {formatString: "Target = %d"} 
     } 
    ], 

    highlighter: {show: true} 
} 
+0

私のテストでは(v1.0.7r1224で)既に 'axes.yaxis.tickOptions.formatString'でフォーマットしている場合は、文字列*をハイライターの' formatString'に追加してください。例えば、私は 'axes.yaxis.tickOptions.formatString = '$ d'を持っているので、ハイライトは浮動小数点' 90.30'の代わりに文字列 '' $ 90 "'に渡されます。 –

+0

フォーマットされた値が数値として解析できない場合、 '%f'や'%d'は空文字列を返すという副作用もあります。 –

0

、:ここでは2つのシリーズでのスクリプトの例を示しますシリーズに適用された蛍光ペンのオブジェクトでuseAxesFormatters:falseを設定することができます。したがって、自分のパーソナライズされたフォーマットを生の値に適用することができます

関連する問題