【发布时间】: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