Отображать цветовое поле для легенды в ipywidgets

#python #html #css #jupyter-notebook #ipywidgets

#python #HTML #css #jupyter-ноутбук #ipywidgets

Вопрос:

для легенды модели, которую я создал в ipyvolume, я хотел создать виджет.HTML, который отображает небольшое цветовое поле помимо соответствующей метки в виджетах.HTML().

Как я вижу, вы можете поместить только одну строку string для html-кода. У кого-нибудь есть хорошая идея?

Ответ №1:

Я решил просто создать сетку и раскрасить кнопки в нужные цвета:

 def create_expanded_button(description):
    return Button(description=description, style={'font_weight': 'bold'}, layout=Layout( width='auto'))

def color_box (description, color):
    b1 = Button(description=description)
    b1.style.button_color = color
    return b1


# names and colors are two lists of length 11 and 22

cgrid = GridspecLayout(12, 2)
tgrid = GridspecLayout(12, 1)

c = 0
for i in range(12):
        for j in range(2):
                cgrid[i, j] = color_box(''.format(i, j), colors[c])
                c =1 
     
            
for i in range(12):
        for j in range(1):
            tgrid[i, j] = create_expanded_button(names[i-1].format(i, j))
 
        
grid = GridspecLayout(2, 2, height='auto', width='auto')
grid[:, :1] = cgrid
grid[:, 1:] = tgrid
grid