0

jqPlotグラフの各ポイントでテキストを変更する方法はありますか?したがって、各ポイントが通常の値を表示する代わりに、別のポイントに変更できます。グラフの各ポイントは、異なるデータを表しています。たとえば、1年間にテストを受けた学生の数を月ごとに表示したいと思います。しかし、ツールチップが量を言う代わりに、平均的なテスト結果を表示したいと思います。

ツールチップのテキストを変更することはできますか?

ありがとう

4

2 に答える 2

1

まず第一に、これはあなたの質問に対する正確な解決策ではありませんが、可能な回避策として使用することができます。

pointLabels プラグインを使用して、jqplotで同様の結果を達成しました。

これがあなたにできることです、

pointLabelsプラグインは、グラフの描画に使用されるデータ配列のコンテンツを表示します。ただし、ポイントラベルを表示するためにデータ配列のどのインデックスを使用するかを指定するオプションがあります。

pointLabels: {
    show: true,
    seriesLabelIndex: 2
}

したがって、データ配列の各ポイントに対して、グラフに表示する詳細を含めることができます。

ただし、これはツールチップとしてではなく、ポイントラベルとして表示されることに注意してください。

これを理解するための小さな例を作成しました。

http://jsfiddle.net/GayashanNA/q9mH8/

また、自分のプロジェクトで行ったことを説明するブログ投稿を作成しました。このソリューションが役立つと思われる場合は、ここを読んで詳細情報を入手してください。

http://gayashan-a.blogspot.de/2012/10/tracking-mouse-position-on-your_2.html

于 2012-10-05T11:50:30.623 に答える
0

私はあなたが尋ねた正確な問題の解決策を見つけました。実際、カスタムツールチップを表示する方法はありますが、どこにも十分に文書化されていません。

これがあなたがそれをする方法です。まず、蛍光ペンプラグインを含める必要があります。次に、プロットオプションで、これと同様の蛍光ペンのオプションを設定します。

highlighter: {
    show: true,
    tooltipContentEditor: tooltipContentEditor
}

これtooltipContentEditorは、ツールチップとしてカスタムHTMLを出力するために使用できる外部関数です。

次に、この関数から計算された平均または別の目的の値を返すことができます。

function tooltipContentEditor(str, series_index, point_index, plot) {
    len = plot.data[series_index].length;
    total = 0;
    for (i = 0 ; i < len; i++) {
        total += parseFloat(plot.data[series_index][i][1]);
    }
    return "average:"+total/len;
}

関数で渡されたパラメーターを使用して、すべてのデータにアクセスできます。

ここで私のjsFiddleを見てください。

于 2012-12-11T12:54:34.453 に答える