【问题标题】:Highcharts Column Series Point Object Click FunctionHighcharts 列系列点对象点击功能
【发布时间】:2012-07-20 16:34:14
【问题描述】:

最近我发布了一个关于 Highcharts 柱形图钻取的问题。我发现在点对象的单击事件中,您可以找出单击了哪一列。我在我的代码中实现了相同的功能,但我的代码中没有收到警报。请在下面找到我的代码。首先是我的图表选项变量 -

var columnoptions = {
                chart: {
                    renderTo: 'container',
                    type: 'column'
                },
                title: {
                    text: 'Column Chart'
                },
                xAxis: {
                    categories: []
                },
                yAxis: {
                    title: {
                        text: 'Exposure'
                    }
                },              
                plotOptions: {
            series: {
                cursor: 'pointer',
                point: {
                    events: {
                        click: function() {
                            alert ('here');
                        }
                    }
                }
            }
        },
                series: []
            };

我正在循环中使用以下语句动态填充系列 -

columnoptions.xAxis.categories.push(categoryArray[index]);

             seriesOptions.data.push(valueArray[index]);    

最后我这样显示我的图表 -

         chart = new Highcharts.Chart(columnoptions);

但我没有收到任何关于列点击的警报。我在 IE 中收到错误 javascript 错误消息。我正在使用 IE8。请帮我解决这个问题。静态数据的 Highcharts 官方示例工作正常,我已经看到了。我的图表显示正确,没有任何问题。但我需要知道点击了哪一列来实现向下钻取功能。请帮忙。

---编辑 这是我用来绘制图表的完整功能 -

function displayColumnChart(){

         columnoptions.series = [];
         columnoptions.xAxis.categories = [];          



         var seriesOptions = {
                        name: 'Column Chart',
                        data: [],                       

                    };  

         /* category array contains x axis category values
            value array contains y axis numeric values */

         for(index = 0; index < categoryArray.length; index++){

             columnoptions.xAxis.categories.push(categoryArray[index]);

             seriesOptions.data.push(valueArray[index]);        

         }      

         columnoptions.series.push(seriesOptions);     

         chart = new Highcharts.Chart(columnoptions);
       }  

我正在从 XML 文档中读取数据,然后创建值和类别数组。图表很好,但在点击时没有得到警报。请帮忙。谢谢。 :) 抱歉延迟发布代码。

【问题讨论】:

  • seriesOptions 是什么?如果可能的话,你能告诉我你所有的代码并提供一个演示吗?
  • “我在 IE 中收到错误的 javascript 错误消息”——这些错误是什么?
  • seriesOptions 是 series: [] columnoptions 的一部分。它基本上是一个带有键值对的映射。键是标题和数据。我将要绘制的值推送到 seriesoptions 的数据部分,然后我将其推送到 columnoptions 的“系列”部分。如果您愿意,我将在明天提供代码,因为它在办公室。 :)
  • 错误来自我们在代码中包含的 Highcharts.js 文件。明天我将提供确切的错误。谢谢。
  • 你的 plotoptions - 点击功能 - 工作正常 jsFiddle ,尝试将你的数据传递给图表对象,看看这是否有帮助

标签: javascript charts highcharts


【解决方案1】:

我只添加了最新版本的 highcharts,点击对我有用。谢谢。

【讨论】:

    猜你喜欢
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多