Highcharts - 通过点击添加数据
以下是通过点击添加数据的示例。
我们在前面的章节已经了解了 Highcharts 基本配置语法。接下来让我们来看下其他的配置。
配置
chart.events 配置
在 chart.event 属性中添加 click 方法(整个图表的绘图区上所发生的点击事件)。该方法在图表绘图区上发生点击时会添加新的数据点。
chart: { events: { click: function (e) { // 获取点击坐标和数据项 var x = e.xAxis[0].value, y = e.yAxis[0].value, series = this.series[0]; // 添加点击的坐标 series.addPoint([x, y]); } } }
示例
文件名:highcharts_dynamic_click.htm
<html> <head> <title>Highcharts 教程</title> <script src = "https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script src = "https://code.highcharts.com/highcharts.js"></script> </head> <body> <div id = "container" style = "width: 550px; height: 400px; margin: 0 auto"></div> <script language = "JavaScript"> $(document).ready(function() { var chart = { type: 'scatter', margin: [70, 50, 60, 80], events: { click: function (e) { // find the clicked values and the series var x = e.xAxis[0].value, y = e.yAxis[0].value, series = this.series[0]; // Add it series.addPoint([x, y]); } } }; var title = { text: 'User supplied data' }; var subtitle = { text: 'Click the plot area to add a point. Click a point to remove it.' }; var xAxis = { gridLineWidth: 1, minPadding: 0.2, maxPadding: 0.2, maxZoom: 60 }; var yAxis = { title: { text: 'Value' }, minPadding: 0.2, maxPadding: 0.2, maxZoom: 60, plotLines: [{ value: 0, width: 1, color: '#808080' }] }; var legend = { enabled: false }; var exporting = { enabled: false }; var plotOptions = { series: { lineWidth: 1, point: { events: { 'click': function () { if (this.series.data.length > 1) { this.remove(); } } } } } }; var series = [{ data: [[20, 20], [80, 80]] }]; var json = {}; json.chart = chart; json.title = title; json.subtitle = subtitle; json.xAxis = xAxis; json.yAxis = yAxis; json.legend = legend; json.exporting = exporting; json.series = series; json.plotOptions = plotOptions; $('#container').highcharts(json); }); </script> </body> </html>
以上图表实例的输出结果
❮ highcharts_dynamic_charts.html