#plotly #plotly-python
Вопрос:
Я пытаюсь создать таблицу, подобную приведенной выше, в графическом виде с заголовками столбцов и строк. У меня есть заголовки в виде списков x = [a,b,c,d] y =[красный,белый,синий], а значения-вложенные списки строк z=[[5,8,9,5],[4,4,5,2],[2,5,3,1]].
Код, который у меня есть для таблицы he:
fig_table = go.Table(
header=dict(
values=x,
font=dict(size=10),
align="left"
),
cells=dict(
values=z,
align = "left")
)
Свойство values ожидает список столбцов вместо строк, поэтому моя таблица получается перевернутой. Есть ли способ ввести список строк в значения? Кроме того, как бы я добавил заголовки строк? Спасибо
Ответ №1:
- структура заголовка представляет собой 1D-список, структура значений представляет собой 2D-список, который представляет собой транспонирование 2D-списка, который вы найдете в pandas
- закодировали оба примера построения из списков и фрейма данных
создание из списков
go.Figure(go.Table(
header=dict(
values=[""] list("abcd"),
font=dict(size=10),
align="left"
),
cells=dict(
values=[["red","white","blue"],[5,3,2],[8,4,5],[9,5,3],[5,2,1]],
align = "left")
))
создание из фрейма данных
df = pd.DataFrame(
index=["red", "white", "blue"],
columns=list("abcd"),
data=np.array([[5, 3, 2], [8, 4, 5], [9, 5, 3], [5, 2, 1]]).T,
)
go.Figure(go.Table(header={"values":df.reset_index().columns, "font":{"size":10}, "align":"left"},
cells={"values":df.reset_index().T, "align":"left"}))
Комментарии:
1. У меня есть большая таблица (около 50 столбцов), я просто использовал ее в качестве примера,поэтому я искал способ создать таблицу, подобную приведенной выше, сохраняя входные данные x, y и z в том же формате, как показано на рисунке, и устанавливая x в качестве заголовка столбца и y в качестве заголовка строки. Для z мне нужно было бы создать функцию для переноса ее в список столбцов?