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就是xaxis序列号。而不是系列名称,我想获得图表中使用的刻度。

在上面的脚本中给出的刻度是:["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 回答