【问题标题】:Get series Label name to display as a text获取系列标签名称以显示为文本
【发布时间】:2012-08-20 13:00:59
【问题描述】:

我有一个条形图。请找到下面的条形图代码。还可以找到作为给定脚本结果的附加图像。

$(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。

请帮助我实现这一目标。提前致谢。

问候,

安东尼

【问题讨论】:

  • 你很困惑。您定义为 tickx 的刻度“类别”标签不是系列名称,而是 x 轴位置(这就是您缺少第 4 条的原因)。你想要系列标签还是想要点击对应的x位置类别?

标签: jqplot


【解决方案1】:

阅读我上面的评论。如果你在右击xaxis类别位置之后,使用这个:

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

在您的事件处理程序中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 2014-03-23
    • 2020-02-10
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多