Python / JS / CSS: помести графический график внутри адаптивного элемента сетки

#css #django #plotly-python #plotly.js

#css #django #графический интерфейс-python #plotly.js

Вопрос:

Я использую Django и пытаюсь встроить графические графики в свои HTML-шаблоны. Для тестирования я скопировал простые примеры в свой views.py .

Это 2-й график:

 # Plot 2
animals = ['giraffes', 'orangutans', 'monkeys']
fig2 = go.Figure([go.Bar(x=animals, y=[20, 14, 23])])
plot_div2 = plot(fig2, output_type='div', include_plotlyjs=False)
  

Все графики включены в context dict.

 context = {
    'plots': {
        'test1': plot_div1,
        'test2': plot_div2,
    },
}
  

В моем шаблоне home.html есть адаптивная сетка (12 столбцов). Графики отображаются рядом (каждый график находится внутри элемента с 6 столбцами).

Итак, один график выглядит так:

 <div class="p-relative col-6 pd-5 border-box elevation-1 primary">
    <div class="p-relative border-box w-full">
        {{plots.test1|safe}}
    </div>
</div>
  

Родительский элемент CSS:

 position: relative;
grid-column-end: span 6;
padding: 1.25rem;
box-sizing: border-box;
box-shadow: ... ;
background: ...;
  

Дочерний элемент CSS:

 position: relative;
box-sizing: border-box;
width: 100%;
  

Проблема:
Высота графика выглядит нормально, но ширина графика больше, чем ширина контейнера.
Поскольку графики должны отображаться внутри адаптивной сетки, не имеет смысла изменять размер
графики с использованием пикселей.
Прикрепленные изображения показывают проблему.

Переполнение графика (рисунок)

Редактировать: я заметил, что при изменении размера окна браузера размеры графиков также изменяются. После изменения размера графики хорошо вписываются в адаптивную сетку. Итак, вопрос: как я могу это сделать без изменения размера окна браузера?

Правка 2: я добавил две функции JS, которые автоматически подгоняют графики. * Но есть ли встроенная функция Plotly для этого? Каким-то образом функция plotly, которая вызывается при изменении размера окна, должна работать.