[英]How to make the dc.js charts responsive
有沒有辦法讓dc.js
圖表響應?
我正在努力使圖表適合桌面大小。
我正在使用Twitter Bootstrap 3.我將div的寬度存儲到變量並將其傳遞給圖表寬度。 這不會使圖表響應。 但在首次加載時,圖表會根據屏幕大小達到寬度。
但現在我面臨一個挑戰,我有一個不同的dc.js
圖表文件。
我正在通過iframe
打電話。
當我通過iframe
調用它時,所有div的寬度都是0,並且網頁中沒有圖表。
但是當我單獨重新加載iframe
時,圖表就出現了。
當我們點擊該特定導航項時,我甚至嘗試加載框架。 但即使這樣對我也不起作用。
有人幫我克服了這個問題。
我已經設置了一個帶有dc.js演示的plunker,我在調整大小時重新渲染,並獲取容器元素的寬度來確定大小。 這是嵌入在iframe中並按原樣工作。 我建議使用這個plunker來適應你的css,因為我只是做了最簡單的iframe設置。 我想你做了類似的事情,所以我不確定你哪里出錯了。希望這會有所幫助。
<body> <h1>Test</h1> <iframe src="iframe.html" class="iframe"></iframe> </body>
<body> <h2>inside iframe</h2> <div id="box-test"></div> <div id="pie-chart"></div> <script src="script.js" type="text/javascript"></script> </body>
var width = document.getElementById('box-test').offsetWidth;
chart
.width(width)
.height(480)
.margins({top: 10, right: 50, bottom: 30, left: 50})
.dimension(experimentDimension)
.group(speedArrayGroup)
.elasticY(true)
.elasticX(true);
window.onresize = function(event) {
var newWidth = document.getElementById('box-test').offsetWidth;
chart.width(newWidth)
.transitionDuration(0);
pie.transitionDuration(0);
dc.renderAll();
chart.transitionDuration(750);
pie.transitionDuration(750);
};
當您在dc.js圖表實例上調用.width()
和.height()
方法(或根本不調用它們.width()
時傳遞null
,它將使用錨元素的寬度和高度(然后可以使用某些樣式進行樣式設置)來自bootstrap或其他一些響應式css框架的常青響應css類;))。
有關詳細信息,請參閱: https : //github.com/dc-js/dc.js/blob/master/web/docs/api-latest.md#dc.baseMixin+height
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.