1

現在作業しているサイトで、jqplotを使用して折れ線グラフをプロットしています。凡例のシリーズ名をクリックしてラインシリーズを切り替えるオプションが表示されるのが気に入っています。しかし、私の問題は、ユーザーがシリーズ名をクリックしてシリーズを切り替えて、その方法を尋ね続けることができることを知らないということです。

シリーズ名の横にクリック可能なシリーズ名と一緒にチェックボックスを追加して、クリックしてグラフから線を表示/非表示にできることをユーザーに知らせるにはどうすればよいですか?私はしばらく探していましたが、解決策を見つけることができませんでした。

提供された助けに感謝します。

4

1 に答える 1

2

凡例にチェックボックスを追加する関数を作成しました。次に、チェックボックスに各シリーズのトレンドラインを表示/非表示にする機能を提供します。次に、凡例の下部に指示を追加します。他の誰かがこれを行う方法を探しているなら、ここにあります:

function addTrendLineButtons() {
    $legend = $("table.jqplot-table-legend", $chartCanvas);
    $legendRows = $("tbody tr.jqplot-table-legend", $legend);

    $legendRows.each(function(idx) {
        $checkbox = $('<input />', {
            type: 'checkbox',
            checked: $jqPlot.options.series[idx].trendline.show
        });
        $checkbox.appendTo($(this));
        $checkbox.change(function() {
            $jqPlot.options.series[idx].trendline.show = $(this).is(":checked");
            $jqPlot.replot($jqPlot.options);
            addTrendLineButtons();
        });
    });

    $instructions = $('<tfoot><tr><td colspan=3>Check box to<br />show trendline</td></tr></tfoot>');
    $instructions.css('text-align', 'right');
    $instructions.appendTo($legend);
}

注:seriesDefaultsオブジェクトだけでなく、各シリーズのトレンドラインオブジェクトを明示的に作成しておく必要があります。

于 2013-09-11T23:14:02.360 に答える