javascript - 关于chartjs表格的大小问题
问题描述
我创建出来的表格总是和自定义的canvas大小无关呢
//html<canvas height='300'></canvas>
//js(这就是官网的示例)var ctx = $(’#chartTest’)[0].getContext(’2d’);var chart = new Chart(ctx,{ type: ’bar’, data: {labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],datasets: [{ label: ’# of Votes’, data: [12, 19, 3, 5, 2, 3], backgroundColor: [’rgba(255, 99, 132, 0.2)’,’rgba(54, 162, 235, 0.2)’,’rgba(255, 206, 86, 0.2)’,’rgba(75, 192, 192, 0.2)’,’rgba(153, 102, 255, 0.2)’,’rgba(255, 159, 64, 0.2)’ ], borderColor: [’rgba(255,99,132,1)’,’rgba(54, 162, 235, 1)’,’rgba(255, 206, 86, 1)’,’rgba(75, 192, 192, 1)’,’rgba(153, 102, 255, 1)’,’rgba(255, 159, 64, 1)’ ], borderWidth: 1}] }, options: {scales: { yAxes: [{ticks: { beginAtZero:true} }]} }})
图表显示了,但属性却是这样的:
canvas的宽高和我自定义的完全无关呢请问哪里出错了吗
问题解答
回答1:官方文档中的说明:
// Any of the following formats may be usedvar ctx = document.getElementById('myChart');var ctx = document.getElementById('myChart').getContext('2d');var ctx = $('#myChart');var ctx = 'myChart';
其中并没有说画布的定义方法为var ctx = $(’#chartTest’)[0].getContext(’2d’),试一下将第一行的var ctx = $(’#chartTest’)[0].getContext(’2d’)改为var ctx = document.getElementById(’charTest’)。
Update参见:http://www.chartjs.org/docs/l...
宽高检测不能直接从canvas获取,需要在外部嵌套一个p,设置p样式:
#chart-wrapper { position: relative; // 这个必须要有,否则里面会生成的iframe绝对定位,会以外层第一个有定位的元素的坐标系为准 width: 400px; height: 400px;}
html:
<p id='chart-wrapper'> <canvas id='myChart'></canvas></p>
相关文章:
1. android - NavigationView 的侧滑菜单中如何保存新增项(通过程序添加)2. tp5 不同控制器中的变量调用问题3. 提示语法错误语法错误: unexpected ’abstract’ (T_ABSTRACT)4. 连续的数值怎么用分组显示,求大神指导,求各位老师帮忙5. 关于thinkphp 5.1中,ajax提交数据url的格式写法,加花括号就出错,请老师指点6. php7.3.4中怎么开启pdo驱动7. 老师 我是一个没有学过php语言的准毕业生 我希望您能帮我一下8. USE关键字9. http://run.php.cn/在线PHP程序运行结果不正确10. Thinkphp5.1报错不支持Redis
