#python #python-3.x #plotly
Вопрос:
У меня есть большая таблица данных в Plotly, которую я создал, и я хотел бы отсортировать по одному из столбцов после построения таблицы. Я не нашел никакой документации по этому поводу. Используя простой пример:
import plotly.graph_objects as go
fig = go.Figure(data=[go.Table(header=dict(values=['A Scores', 'B Scores']),
cells=dict(values=[[100, 90, 80, 90], [95, 85, 75, 95]]))
])
fig.show()
Можно ли сократить результирующий go.Table
объект или go.Figure
объект по столбцу «Оценки B» перед его отображением? Или значения таблицы должны быть правильно отсортированы перед построением таблицы?
Ответ №1:
Предполагая, что требуется, чтобы он был интерактивным, вы можете использовать updatemenus, где данные заменяются отсортированными данными.
import plotly.graph_objects as go
v = [[100, 90, 80, 90], [95, 85, 75, 95]]
df = pd.DataFrame(v).T.sort_values(0).T
fig = go.Figure(
data=[go.Table(header=dict(values=["A Scores", "B Scores"]), cells={"values": df.values})]
)
fig.update_layout(
updatemenus=[
{
"buttons": [
{
"method": "restyle",
"label": b["l"],
"args": [{"cells": {"values": df.T.sort_values(b["c"]).T.values}},[0],],
}
for b in [{"l": "A Scores", "c": 0}, {"l": "B Scores", "c": 1}]
],
"direction": "down",
"y": 1,
}
]
)
Комментарии:
1. привет, Роб, может быть, я делаю что-то не так, но выпадающий список ничего не меняет во мне. Есть какие-нибудь мысли?
2. в любом случае, создайте фрейм данных. транспонирование, сортировка и транспонирование по-прежнему решают мою проблему для статической таблицы. Приму. Спасибо