Javascript highcharts饼图多节选择

Javascript highcharts饼图多节选择,javascript,highcharts,Javascript,Highcharts,我想在饼图中选择多个部分。如果已选中,则在单击时应取消选中该节 我找到了一个例子。但在这种情况下,只能选择一个部分,单击任何其他部分时,将取消选择所选部分 同样,我发现了另一个例子[ $(函数(){ var图表=新的Highcharts.图表({ 图表:{ renderTo:'容器', 键入:“馅饼” }, plotOptions: { series: { states: { hover: {

我想在饼图中选择多个部分。如果已选中,则在单击时应取消选中该节

我找到了一个例子。但在这种情况下,只能选择一个部分,单击任何其他部分时,将取消选择所选部分

同样,我发现了另一个例子[

$(函数(){ var图表=新的Highcharts.图表({ 图表:{ renderTo:'容器', 键入:“馅饼”

    },
    plotOptions: {
        series: {
            states: {
                hover: {
                    enabled: false
                }
            },
            point: {
                events: {
                    click: function () {
                        this.graphic.attr({
                            fill: 'yellow'
                        });
                    }
                }
            }
        }
    },
    tooltip: {
        enabled: false
    },
    series: [{
        data: [{
            name: 'test',
            y: 29.9,
            color: "#CCCCCC",
            active: false
        }, {
            name: 'test2',
            y: 71.5,
            color: "#CCCCCC",
            active: false
        }, {
            name: 'test3',
            y: 106.4,
            color: "#CCCCCC",
            active: false
        }]
    }]
}); });
]。在这种情况下,可以选择多个部分,但在再次单击时不会取消选择


请提供帮助!!

Shift+Mouseclick
CTRL+Mouseclick
用于选择/取消选择“点”。只需设置:

allowPointSelect:true

尝试以下解决方案:


默认情况下如何实现这一点?默认情况下,我的意思是,如果选择了某个分区,并且用户单击了其他分区,则该分区也会被选中。取消选择分区的唯一方法是单击分区本身。我仍在检查此问题,但据我所知,这在Windows上有效。如果我发现更多信息,将稍后报告:)我想我没有清楚地表达我自己。你的建议当然有效。我想要的是:在饼图上的每一次鼠标点击都应该是“ctrl+mouseclick”这很好用。谢谢Pawel。唯一剩下的是-每次点击我都想打印所有选定部分的id。你能建议如何实现这一点吗。所以只需打印
this.series.chart.getSelectedPoints()
array,其中包含所有选中的点。在JS控制台中,您有参考资料。好的。我会尝试一下。您能解释一下上面的答案是如何工作的吗?甚至这个链接似乎也在工作……那么您的答案是如何改进的呢?重要的是:实际上,我不想将部分切掉,我只想将颜色改为yellow可标记所选内容并将颜色更改回原始颜色以标记取消选择。无法实现此目的。这两个示例都是我的,但如果您想获得所选点的列表,请使用
this.select()
。要更改颜色,只需设置
状态。选择.color
。如果您不想要切片,请设置
切片偏移:0
,请参阅:
    plotOptions: {
        series: {
            point: {
                events: {
                    click: function(event){
                        this.slice(null);
                        this.select(null, true);
                        console.log(this.series.chart.getSelectedPoints());
                    }
                }  
            }                    
        }
    }