1

我通过直接作用于图形来覆盖条形图中条形的颜色。它适用于初始加载,但如果我将鼠标悬停在栏上以显示工具提示,当我鼠标移出时,它会恢复为默认颜色,而不是我的自定义选择。

我将如何在一个栏上编辑该事件的设置。

见:http: //jsfiddle.net/WQkeQ/4/

$(function () {
    var chart;
    $(document).ready(function() {
        chart = new Highcharts.Chart({
            chart: {
                renderTo: 'container',
                type: 'bar'
            },
            title: {
                text: 'Historic World Population by Region'
            },
            subtitle: {
                text: 'Source: Wikipedia.org'
            },
            xAxis: {
                categories: ['Africa', 'America', 'Asia', 'Europe', 'Oceania'],
                title: {
                    text: null
                }
            },
            yAxis: {
                min: 0,
                max:4000,
                title: {
                    text: 'Population (millions)',
                    align: 'high'
                },
                labels: {
                    overflow: 'justify'
                }
            },
            tooltip: {
                formatter: function() {
                    if(this.y > (this.series.chart.yAxis[0].max))
                        return this.series.name +': '+ this.y + ' max is smaller: '+this.series.chart.yAxis[0].max ;
                    else
                        return this.series.name +': '+ this.y;
                }
            },
            plotOptions: {
                bar: {
                    dataLabels: {
                        enabled: true
                    }
                }
            },
            credits: {
                enabled: false
            },
            series: [{
                name: 'Year 2008',
                data: [973, 914, 4054, 732, 34]
            }]
        },function(chart){

            var max = chart.yAxis[0].max,
                content = '<h2>Points</h2><br/>';

            $.each(chart.series,function(i,serie){
                $.each(serie.data,function(j,data){
                    if(data.y > max){
                       content += 'Point: '+data.y+' is bigger than max: '+max;
                       data.graphic.attr({fill:'silver'});}
                });
            });

            $('#report').html(content);

        });
    });

});

将鼠标悬停在银条上。

谢谢,马尼沙

4

1 回答 1

1

Manisha,您可以使用元素CSS属性来设置系列中单个条的颜色。

采用

    data.graphic.css({color: 'silver' });

代替

    data.graphic.attr({fill:'silver'});

Fiddled版本。

希望这可以帮助。

于 2013-03-02T05:42:56.160 回答