我在$(document).ready()。
中将图表渲染到容器之后,我使用了这里提到的方法(How can i get access to a Highcharts chart through a DOM-Container),但它说图表没有定义。 以下是我的javascript代码。
$(document).ready(function () {
$('#container').highcharts({
// ignore some option here
series: [{
data: []
}]
});
});
function draw_plot(original_data) {
var chart = $("#container").highcharts();
// chart is not defined
chart.series[0].setData(original_data, false);
}
我使用django作为我的Web框架。 下面是我的HTML代码。
{% load static %}
<head>
<!-- load .js here -->
</head>
<body>
<div id="container"></div>
<script>
draw_plot({{ original_data }})
</script>
</body>
我的views.py
def index(request):
template = loader.get_template('plot_example/example.html')
x, y = synthesize_data()
original_data = np.column_stack((x, y)).tolist()
context = {
'original_data': original_data,
}
return HttpResponse(template.render(context, request))
我的主要目的是动态更改图表数据。如果这个问题无法解决,还有其他解决方案。
更新:
答案 0 :(得分:0)
我找出原因,我犯了一个初学者的错误。
在$(document).ready()之前调用函数draw_plot()。所以我无法访问$('#container')。highcharts()对象。