关注Chart.js documentation 我想画一个小图表:
<canvas id="myChart" width="400" height="400"></canvas>
<script>
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels:['15-2016','16-2016','17-2016',],
datasets:[
{
label:'Yes',
data:[3.4884,1.1628,1.3514,],
backgroundColor:'rgba(75,192,192,1)',
borderColor:'rgba(75,192,192,1)',
pointRadius:0
},
{
label:'Maybe',
data:[0.5571,1.3298,0.791,],
backgroundColor:'rgba(255,206,86,1)',
borderColor:'rgba(255,206,86,1)',
pointRadius:0
},
{
label:'No',
data:[0,0,0,],
backgroundColor:'rgba(255,99,132,1)',
borderColor:'rgba(255,99,132,1)',
pointRadius:0
}
]
}
});
</script>
但是,当渲染页面时,画布会以某种方式变为
<canvas style="height: 929px; width: 929px;" id="myChart" width="1858" height="1858"></canvas>
这对我的需求来说太大了。如何将画布的宽度和高度设置为我想要的?
答案 0 :(得分:3)
我能够通过关闭响应性来硬编码图表的大小:
options: {
responsive: false
}
答案 1 :(得分:3)
我通过在选项中添加“maintainAspectRatio:false”解决了这个问题。
options : {
maintainAspectRatio: false
};
答案 2 :(得分:1)
使用这两个选项,maintainAspectRatio:false AND responsive:false似乎可以使图表适合画布在画布高度和宽度标签中的大小。