在打印时捕获整个d3图形

时间:2014-05-22 00:55:17

标签: css printing d3.js

我正在尝试为具有大量d3图表的应用程序编写print.css样式表。我已尝试将设置宽度设置为100%,不同的pt值等,但我无法让整个图形显示在打印预览上。有关如何设置svg /容器样式的提示,以便将整个事物打印在正常的8.5x11上?

非常感谢。下图:x轴实际上是2013年,打印时图表会被切断,如您所见

The x-axis actually goes to 2013, and the graph gets cut off when printing as you can see

2 个答案:

答案 0 :(得分:1)

...编辑

我原来的建议是:

svg#time-series-graph {
    transform: scale(0.5);
}

这不适用于各种浏览器。如果我理解正确的话,transform属性实际上并不在SVG规范中,因为它可以使用CSS进行更改(虽然它似乎可以在Firefox中使用)。

一个丑陋的替代方案是渲染两个图表:一个仅在屏幕上可见,一个较小的图表仅在print.css中可见。必须有更好的方法来做到这一点!

答案 1 :(得分:1)

这是我搜索的最佳结果,因此我添加了我找到的解决方案。在包含元素上添加width: 670px;使其适合。

相关问题