首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使dc.js图表响应

如何使dc.js图表响应
EN

Stack Overflow用户
提问于 2014-03-10 12:58:08
回答 2查看 8.9K关注 0票数 19

有没有什么方法可以让dc.js图表响应呢?

为了让图表适合桌面大小,我费了很大劲。

我使用的是Twitter Bootstrap 3,我将div的宽度存储到一个变量中,并将其传递给图表宽度。这不会使图表具有响应性。但在第一次加载时,图表会根据屏幕的大小达到宽度。

但是现在我面临着一个挑战,那就是我有一个不同的dc.js图表文件。

我是通过iframe打电话的。

当我通过iframe调用它时,所有div的宽度都是0,并且网页中没有出现任何图表。

但是当我单独重新加载iframe时,图表就出现了。

当我们点击特定的导航项目时,我甚至尝试加载框架。但即使这样对我也不起作用。

谁来帮我解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2014-08-01 00:10:50

我已经设置了一个带有dc.js演示的柱塞,在调整大小时重新渲染,并获取容器元素的宽度来确定大小。它嵌入在iframe中,并按原样工作。我建议使用这个柱塞来适应你的css,因为我只是做了最简单的iframe设置。我想你也做过类似的事情,所以我不太确定你哪里做错了,希望这能有所帮助。

responsive DC chart in an iframe

给定一个带有iframe的标准页面:

以及一个带有容器和脚本的iframe来加载图表:

获取所需宽度的调用

代码语言:javascript
复制
var width = document.getElementById('box-test').offsetWidth;

将该宽度用于初始渲染

代码语言:javascript
复制
chart
  .width(width)
  .height(480)
  .margins({top: 10, right: 50, bottom: 30, left: 50})
  .dimension(experimentDimension)
  .group(speedArrayGroup)
  .elasticY(true)
  .elasticX(true);

最后是一个处理窗口大小调整的函数

代码语言:javascript
复制
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);
};
票数 21
EN

Stack Overflow用户

发布于 2018-05-16 20:48:42

当您在Chart实例上调用.width().height()方法(或根本不调用它们)时传递null时,它将使用锚元素的宽度和高度(然后可以使用bootstrap或其他响应式dc.js框架中的一些常绿响应式css类设置样式;)。

有关更多信息,请参阅:https://github.com/dc-js/dc.js/blob/master/web/docs/api-latest.md#dc.baseMixin+height

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22292369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档