我正在尝试将两个javascripts组合成一个,但我正在努力让它工作。我不确定我是否有可能做的事情,但我认为stackoverflow是获得帮助的最佳地点。
第一个javascript是Chart.js,特别是折线图选项。第二个脚本是w3schools的HTML脚本中的XML。
我想要做的是使用XML文件填充折线图的数据。我相应地修改了代码,但我只有非常基本的javascript知识,无法让它工作。这就是我试过的:
<canvas id="canvas1" width="350" height="300"></canvas>
<script>
if (window.XMLHttpRequest)
{ // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{ // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","data_chart.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName("Row")
for (i=0;i<x.length;i++)
var lineChartData = {
labels : ["1","2","3","4","5"],
datasets : [{
fillColor : "rgba(0,0,0,0.5)",
strokeColor : "rgba(0,0,0,1)",
pointColor : "rgba(0,0,0,1)",
pointStrokeColor : "#fff",
data : [x[i].getElementsByTagName("data_chart_1")]
}]
}
var myLine = new
Chart(document.getElementById("canvas1").getContext("2d")).Line(lineChartData);
</script>
因此,我们的想法是通过从XML文件lineChartData
获取行data_chart_1
中的所有元素来填充变量data_chart.xml
的数据部分。这样的事情可能吗?我如何更新代码以使其工作?
非常感谢你的帮助。我希望我的问题很明确。
答案 0 :(得分:2)
试试这个
var firstRow = xmlDoc.getElementsByTagName("Row")[0];
//console.log(firstRow);
var dataChart = firstRow.firstChild.nodeValue;
//console.log(dataChart);
var chartData = dataChart.split(",");
.......................
data : chartData