0

使用 dot net highcharts 和标签格式化程序仅显示图例中的某些项目,它将已返回的值显示为 ''。

.SetLegend(new Legend { Enabled = true, LabelFormatter = "function() { if (this.y >= 5) { return this.name; } else { return ''; } }"  })

图例显示

4

2 回答 2

1

您可以禁用默认图例并创建自己的 HTML。然后您可以控制应该显示或不显示哪个点。

示例:http: //jsfiddle.net/N3KAC/1/

$legend = $('#customLegend');

    $.each(chart.series[0].data, function (j, data) {

        $legend.append('<div class="item"><div class="symbol" style="background-color:'+data.color+'"></div><div class="serieName" id="">' + data.name + '</div></div>');

    });

    $('#customLegend .item').click(function(){
        var inx = $(this).index(),
            point = chart.series[0].data[inx];

        if(point.visible)
            point.setVisible(false);
        else
            point.setVisible(true);
    });        
于 2015-03-05T16:02:39.127 回答
0

格式化程序仅格式化显示的文本 - 它不确定是否有系列的图例条目。

您需要的是showInLegend属性,您需要对系列对象而不是图例进行检查。

参考:

于 2015-03-05T14:02:03.150 回答