У меня есть некоторые проблемы с пониманием того, как управлять flexbox ipywidgets в ноутбуке jupyter. В соответствии с docs это должно быть возможно, однако мой код стилевого оформления (см. Ниже) не приводит к желаемому макету. Я проверил в стеке и нашел хороший ресурс , который, кажется, работал там для людей, однако выполнение кода все равно не дает желаемого результата.
Проблема
Я хотел бы, чтобы контроль строил несколько более сложные макеты. В этом случае, в частности, цель состоит в том, чтобы расположить ползунки вертикально рядом с графиком matpltolib:
from matplotlib.pyplot import subplots
from IPython.display import display
import ipywidgets as ipy
import numpy as np
# setup figure
n = 10
fig, ax = subplots(figsize = (5,5))
h = ax.imshow(np.random.rand(n, n))
# show random mesh
def update(idx):
h.set_data(np.random.rand(n, n))
fig.canvas.flush_events()
fig.canvas.draw()
slider = ipy.IntSlider(min = 0, max = 10, orientation = 'vertical')
widget = ipy.interactive(update, idx = slider)
layout = ipy.Layout(display = 'flex',\
flex_flow = 'row',\
justify_content = 'space-between',\
align_items = 'center',\
)
widgets = ipy.HBox(widget.children[::-1], layout = layout)
display(widgets)
Однако это приводит к
Как заставитькомпоновка горизонтальных столбцов с использованием ipywidgets в блокноте jupyter?