HighCharts:图表区域

时间:2018-01-06 16:57:31

标签: highcharts

我正在尝试按照以下用例创建图例旁边的自定义按钮:
1)水平图例右侧的按钮
2)垂直图例下面的按钮

JS Fiddle Link

使用图表渲染器,我可以在图表上添加按钮,但其坐标是固定的。它在图表上呈现为矩形(使用开发人员工具检查按钮后了解)。有没有什么办法可以随时将这个自定义按钮放在图表中的任何元素旁边,在我的例子中,在图例旁边。

chart.renderer.button(...); // code inside jsfiddle link

1 个答案:

答案 0 :(得分:1)

使用lagend labelFormatteruseHTML:true一起添加按钮旁边的按钮。如果您使用的是垂直图例,则可以在图例labelFormatter中添加换行符

var chart;
chart=new Highcharts.chart('container', {
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },
       legend: {

        useHTML:true,
        labelFormatter: function () {
            return this.name + ' (click to hide) <button onclick="buttonAction()">Button Action</button>';
        }
    },


    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    }]
});

function buttonAction(){
if(chart.series[0].visible==true){ //button click will interfere with legend text click
	chart.series[0].visible=false
}else{
	chart.series[0].visible=true
}
console.log('button clicked')
}
<script src="https://code.highcharts.com/highcharts.js"></script>

<div id="container" style="height: 400px"></div>