use*_*314 19 javascript charts html5
您好,我试图使用chartjs可以在这个链接www.chartjs.org找到
我试图使用示例代码在同一页面中绘制两个图表
我用两个不同的id创建了两个不同的div
像这样
<div id="chart1"></div>
<div id="chart2"></div>
Run Code Online (Sandbox Code Playgroud)
然后包括这一行:
我用这种方式创建了第一个图表:
window.onload = function(){
var ctx1 = document.getElementById("chart1").getContext("2d");
window.myLine = new Chart(ctx1).Line(lineChartData, {
responsive: true
});
}
Run Code Online (Sandbox Code Playgroud)
和第二个图表这样:
window.onload = function(){
var ctx2 = document.getElementById("chart2").getContext("2d");
window.myPie = new Chart(ctx2).Pie(pieData);
};
Run Code Online (Sandbox Code Playgroud)
用于两个图表的数据与样本相同,所以没有任何改变,但如果我自己只绘制一个图表,如果我同时放置两个图表我只得到饼图,效果很好
你能告诉我问题在哪里吗?我认为这是某种冲突,但我找不到它
小智 25
只使用一个window.onload
window.onload = function () {
window.myRadar = new Chart(document.getElementById("canvas1").getContext("2d")).Radar(radarChartData, {
responsive: true
});
var G2 = document.getElementById("canvas2").getContext("2d");
window.myBar = new Chart(G2).Bar(barChartData, {
responsive: true
});
}
Run Code Online (Sandbox Code Playgroud)
小智 6
我没有研究过不同类型的图表,但我研究了一个示例并使用以下代码在页面中创建了两个条形图:
<div style="width: 50%">
<canvas id="canvas" height="450" width="600"></canvas>
</div>
<div style="width: 50%">
<canvas id="canvas2" height="450" width="600"></canvas>
</div>
Run Code Online (Sandbox Code Playgroud)
在脚本部分,我喜欢这样:
var randomScalingFactor = function(){ return Math.round(Math.random()*100)};
var barChartData = {
labels : ["January","February","March","April","May","June","July"],
datasets : [
{
fillColor : "rgba(220,220,220,0.5)",
strokeColor : "rgba(220,220,220,0.8)",
highlightFill: "rgba(220,220,220,0.75)",
highlightStroke: "rgba(220,220,220,1)",
data : [randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor()]
},
{
fillColor : "rgba(151,187,205,0.5)",
strokeColor : "rgba(151,187,205,0.8)",
highlightFill : "rgba(151,187,205,0.75)",
highlightStroke : "rgba(151,187,205,1)",
data : [randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor()]
}
]
}
var barChartData2 = {
labels : ["January","February","March","April","May","June","July"],
datasets : [
{
fillColor : "rgba(220,220,220,0.5)",
strokeColor : "rgba(220,220,220,0.8)",
highlightFill: "rgba(220,220,220,0.75)",
highlightStroke: "rgba(220,220,220,1)",
data : [randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor()]
},
{
fillColor : "rgba(151,187,205,0.5)",
strokeColor : "rgba(151,187,205,0.8)",
highlightFill : "rgba(151,187,205,0.75)",
highlightStroke : "rgba(151,187,205,1)",
data : [randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor()]
}
]
}
window.onload = function(){
var ctx = document.getElementById("canvas").getContext("2d");
window.myBar = new Chart(ctx).Bar(barChartData, {
responsive : true
});
var ctx2 = document.getElementById("canvas2").getContext("2d");
window.myBar = new Chart(ctx2).Bar(barChartData2, {
responsive : true
});
}
Run Code Online (Sandbox Code Playgroud)