停止高图表覆盖容器
Stop Highcharts overwriting containers
我写了这个javaScript函数来为输入的csv文件生成图形。多个 csv 文件的地址以graph_data为单位。
我之所以将其作为循环而不是分开,是因为"graph_data"中的 csv 文件数量可能会有所不同。
这个函数似乎有效,但它显示的是最后一个 csv 的图形,而不是早期的 csv 文件。如果我更改循环运行的次数,它会生成其他图形,但永远不会将它们放在同一个 HTML 页面上。
我认为Highcharts正在覆盖以前的图表,但我不知道如何解决它。
Javascript:
<script type="text/javascript">
var arrayLength = {{graph_data}}.length;
for (var i = 0; i < arrayLength; i++) {
data = ({{graph_data}}[i]);
var container="#container"+i;
$.get(data, function(csv) {
$(container).highcharts({
chart: {
zoomType: 'x',
type: 'column',
renderTo: 'container'+i
},
data: {
csv: csv,
lineDelimiter: "'n"
},
title: {
text: "title"
},
yAxis: {
title: {
text: 'Units'
}
},
plotOptions: {
series: {
marker: {
enabled: false
}
}
}
});
});
}
</script>
.HTML:
<div id="container0" style="width:100%; height:1400px;"></div>
<div id="container1" style="width:100%; height:1400px;"></div>
使用 jQuery.each()
或 Array.prototype.forEach()
。
jQuery.each():
$.each({{graph_data}}, function (i, data) {
$.get(data, function(csv) {
$('#container' + i).highcharts({
chart: {
zoomType: 'x',
type: 'column',
},
data: {
csv: csv,
lineDelimiter: "'n"
}
});
});
});
Array.prototype.forEach():
{{graph_data}}.forEach(function (data, i) {
$.get(data, function(csv) {
$('#container' + i).highcharts({
chart: {
zoomType: 'x',
type: 'column',
},
data: {
csv: csv,
lineDelimiter: "'n"
}
});
});
});
为什么?
请参阅此问题和答案。
循环内的JavaScript闭包 - 简单的实际示例
您需要动态创建div,然后生成高图表。 创建一个包含所有图表配置的函数,请执行以下操作:
var parent_div =$( "#yourParentDivId" ).append( "div" ).attr( "class", "someclass" );
var child_div = parent_div.append( "div" ).attr( "id", container"+i);
var chart_data = getChartData( graph_data[i], container"+i);
var chart = new Highcharts.Chart( chart_data );
在getChartdata方法中,您必须提供系列数据和动态创建的div的ID(container+i)。
相关文章:
- 如何访问高图表工具提示中的任何特定数据
- 将图表动态添加到组合高图表中
- 在Firefox中导出高图表时出现黑色图像错误
- 在高图表中,每x步只显示标签
- 高图表的文本溢出问题
- 单击时获取父级子级高图表
- 如何在拖动后获得图表的最小值和最大值放大高图表
- 制作高图表'setExtremes使用两个Y轴取消勾选
- ng高图表的响应行为,加载时隐藏编译的ng点击xAxis标签
- 如何根据创建日期对对象进行排序,以插入Meteor的高图表
- 在图例项目之间添加额外空间的高图表
- 正在读取高图表中上载的csv文件
- 高图表数据导入 JSON - 格式
- 带有背景色的高图表柱形图
- 高图表 - 拖动哥伦范围
- 高图表不显示来自csv文件的数据
- 性能问题高图表图和 socket.io
- 停止高图表覆盖容器
- 高图表组合图:覆盖线系列标记的列
- 高图表-覆盖图例点击和悬停事件自定义逻辑