【发布时间】:2015-01-30 03:31:25
【问题描述】:
所以我需要显示大约 30,000 个数据点的基本图表,我目前正在使用 Google Charts,并在 javascript 中使用以下代码,其中包含一些 jinja:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1.1', {packages: ['line']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('number', 'Time');
data.addColumn('number', "value1");
data.addColumn('number', "value2");
var mnemonic_count = 1;
{% for item in response %}
data.addRow([mnemonic_count, {{item["value1"] | safe}}, {{item["value2"] | safe}}]);
count = count+1;
{% endfor %}
console.log(count);
var options = {
chart: {
title: 'value over time',
subtitle: 'count . ' data points'
},
width: 900,
height: 500
};
var chart = new google.charts.Line(document.getElementById('linechart_material'));
chart.draw(data, options);
}
</script>
<html>
<div id="linechart_material"></div>
</html>
这适用于小型数据集,它永远不会真正失败,但是当我获得所需的数据点数量时,大约 30,000 个,加载需要将近 30 秒。我可以在后端做些什么来加快速度,或者有谁知道基于浏览器的图表是否可以更快地呈现?
【问题讨论】:
标签: javascript optimization google-visualization