Highcharts:更改饼图部分的颜色而不切片动画

时间:2016-05-30 14:15:16

标签: javascript highcharts data-visualization pie-chart

考虑以下情况:

  1. 我有下面的饼图与已经切片的部分。 https://jsfiddle.net/amrutaJgtp/j2t0gdjt/4/

    series: [{
        data: [
            {
            name: 'Jan',
            y: 29.9,
            sliced:true
            },
        {
            name: 'Feb',
            y: 71.5,
            sliced:true
    
            },
        {
            name: 'Mar',
            y: 106.4,
            sliced:true
    
            },
        {
            name: 'Apr',
            y: 100,
            sliced:true
    
        }
        ],
        slicedOffset:20
    }]
    
  2. 点击/选择任何部分(任意次数),我想在选择颜色和原始颜色之间切换部分的颜色

  3. 但我不会将这些部分恢复到原始(0,0)位置。也就是说,他们应该在点击/选择

  4. 时保持切片状态

    有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:3)

我建议使用point.events.unselect并在那里调用point.slice(true)。这样的事情:https://jsfiddle.net/j2t0gdjt/9/

    plotOptions: {
        pie: {
            allowPointSelect: true,
            states: {
                select: {
                    color: '#ff0000'
                }
            },
            point:{
                events:{
                    unselect: function(event) {
                        this.slice(true);
                    }
                }
            }
        }
    },

答案 1 :(得分:1)

您可以先使用click事件进行选择,然后确保在(JSFiddle)后切片:

plotOptions: {
    pie: {
        point:{
            events:{
                click: function(event) {
                    this.select(!this.selected, true);
                    this.slice(true);
                    return false;
                }
            }
        }
    }
}

遗憾的是,如果不使用累积的选择,这种方法不能很好地工作。最好找到一种方法,在这种方法中,您可以设置禁用切片事件,然后选择select事件。