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. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. docker安裝后出現Cannot connect to the Docker daemon.3. css - 定位為absolute的父元素中的子元素 如何設置在父元素的下面?4. javascript - angualr2中emit觸發一個方法然后怎么獲得這個promise的結果5. java - 請問在main方法中寫成對象名.屬性()并賦值,與直接參參數賦值輸錯誤是什么原因?6. mysql里的大表用mycat做水平拆分,是不是要先手動分好,再配置mycat7. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統有創建日志文件,不寫入日志信息。8. javascript - 圖片鏈接請求一直是pending狀態,導致頁面崩潰,怎么解決?9. python - beautifulsoup獲取網頁內容的問題10. 怎么用css截取字符?
