Так что я пытаюсь отобразить 3 графика в одном и том же div, переключая кнопки, которые показывают/скрывают другие divs соответственно. Я установил 2 других графика наjquery show() не отображается правильно для диаграмм высоких диаграмм
style= "display: none"
Для обеспечения отображения только одного графика при загрузке. Это, как вид по умолчанию выглядит следующим образом:
Вид по умолчанию день на кнопку день. Однако, когда я нажимаю на другие 2 кнопки, ширина графика увеличивается, и она отображается так.
Он сжимается по какой-то причине. Я переключил порядок отображения, и это всегда скрытые графики, которые имеют проблему размера. Я подозреваю, что это имеет какое-то отношение к встроенному стилю, но я не могу понять, как правильно его показать.
Фрагмент кода для графа:
<button onclick="showDay('tasks')">Day on Day</button>
<button onclick="showWeek('tasks')">Week on Week</button>
<button onclick="showMonth('tasks')">Month on Month</button>
<div class="portlet-body">
<div id="tasks"></div>
<div id="tasksWeek" style="display: none"></div>
<div id="tasksMonth" style="display: none"></div>
</div>
<script>
new Highcharts.StockChart({{masterDic['tasks']|safe}});
new Highcharts.StockChart({{masterDic['tasksWeek']|safe}});
new Highcharts.StockChart({{masterDic['tasksMonth']|safe}});
</script>
фрагмент коды для вызова (хак сейчас)
<script>
function showDay(id) {
var idDay = "#"+id;
var idWeek = "#"+id+"Week";
var idMonth = "#"+id + "Month";
$(idWeek).hide(10);
$(idMonth).hide(10);
$(idDay).show(10);
}
function showWeek(id) {
var idDay = "#"+id;
var idWeek = "#"+id+"Week";
var idMonth = "#"+id + "Month";
$(idMonth).hide(10);
$(idDay).hide(10);
$(idWeek).show(10);
}
function showMonth(id) {
var idDay = "#"+id;
var idWeek = "#"+id+"Week";
var idMonth = "#"+id + "Month";
$(idDay).hide(10);
$(idWeek).hide(10);
$(idMonth).show(10);
}
</script>
Кто-нибудь есть какие-либо идеи о том, как это исправить? Большое спасибо! :)
EDIT:
CSS для портлета тела (весь след при использовании инспектировать элемента):
https://jsfiddle.net/ovnrpnb5/
Пожалуйста, предоставьте CSS для 'портлета-body' и три диаграммы. – Eddi
Эй, Эйдди, спасибо за ваш ответ! Я не могу показать вам css для трех диаграмм, потому что im генерирует их, используя библиотеку pandas-highcharts (так что нет css, кроме стандартного highcharts css с темой dark-unica), но я обновил css для тела портлета – Wboy
О, я полностью пропустил эту часть, что вы используете холст для диаграмм, но это, конечно, имеет смысл. Я могу напомнить о ситуации, когда была аналогичная проблема с графиками (с использованием другой библиотеки). Проблема возникла, когда контейнер диаграммы был изначально скрыт (с помощью 'display: none'), затем была создана диаграмма, и через некоторое время контейнер был показан снова, но график был неуместен.Это было связано с первоначально скрытым контейнером диаграммы, который использовался для расчета высоты/ширины и положения диаграммы. Может быть, здесь что-то похожее. – Eddi