1

棒グラフがあります。棒グラフの下のコードを見つけてください。また、指定されたスクリプトの結果である添付の画像を見つけます。

$(document).ready(function(){
    var s1 = [2, 6, 7, 10];
    var s2 = [7, 5, 3, 2];
    var s3 = [14, 9, 3, 8];
    var tickx = ["aaa", "bbb", "ccc"];
    plot3 = $.jqplot('chart3', [s1, s2, s3], {
        stackSeries: true,
        captureRightClick: true,
        seriesDefaults:{
            renderer:$.jqplot.BarRenderer,
            rendererOptions: {
                highlightMouseDown: true    
            },
            pointLabels: {show: true}
        },
        legend: {
            show: true,
            location: 'e',
            placement: 'outside'
        },
       axes: { 
           xaxis: {
              renderer: $.jqplot.CategoryAxisRenderer,
              ticks: tickx
          }
       }
    });

    $('#chart3').bind('jqplotDataRightClick', 
        function (ev, seriesIndex, pointIndex, data) {
            $('#info3').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);
        }
    ); 
});

バーを右クリックすると、右クリックしたバーの値が表示されます。

右クリック: シリーズ: 2、ポイント: 1、データ: 2,9。

ここで、データ値 (data: 2,9) の値 2 は、x 軸のシリーズ番号です。シリーズ名の代わりに、チャートで使用されるティックを取得したいと思います。

この上記のスクリプトでは、指定された目盛りは次のとおりです。["aaa", "bbb", "ccc"];

出力を次のように表示したい

ユーザーがシリーズ 1 軸をクリックした場合。結果は

右クリック: シリーズ: 2、ポイント: 1、データ: 1,7、シリーズ ラベル: aaa。

これを達成するのを手伝ってください。前もって感謝します。

よろしく、

アントニー

4

1 に答える 1

2

上記の私のコメントを読んでください。右クリックで xaxis カテゴリの位置を確認している場合は、次を使用します。

$('#chart3').bind('jqplotDataRightClick', 
        function (ev, seriesIndex, pointIndex, data) {
            $('#info3').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data + ' category label: ' + plot3.axes.xaxis.ticks[pointIndex]);
        }
    ); 

イベント ハンドラーで。

于 2012-08-20T15:38:01.733 に答える