Вы также можете использовать bootstrap 3 , чтобы адаптировать размер визуализации.Например, мы можем установить код HTML следующим образом:
<div class="container>
<div class="row">
<div class='col-sm-6 col-md-4' id="month-view" style="height:345px;">
<div id ="responsivetext">Something to write</div>
</div>
</div>
</div>
Я установил фиксированную высоту из-за своих потребностей, но вы также можете оставить размер авто.«Col-sm-6 col-md-4» делает div реагирующим на разные устройства.Вы можете узнать больше на http://getbootstrap.com/css/#grid-example-basic
Мы можем получить доступ к графику с помощью идентификатора месяц просмотра .
Я не буду вдаваться в подробностикод d3, я буду вводить только ту часть, которая необходима для адаптации к разным размерам экрана.
var width = document.getElementById('month-view').offsetWidth;
var height = document.getElementById('month-view').offsetHeight - document.getElementById('responsivetext2').offsetHeight;
Ширина задается путем получения ширины div с идентификатором month-view.
Высота в моем случае не должна включать всю площадь.У меня также есть текст над панелью, поэтому мне нужно рассчитать и эту область.Вот почему я идентифицировал область текста с помощью идентификатора responseivetext.Для расчета допустимой высоты панели я вычел высоту текста из высоты элемента div.
Это позволяет вам получить панель, которая будет принимать все различные размеры screen / div.Возможно, это не лучший способ сделать это, но он, безусловно, работает для нужд моего проекта.