Как отсортировать гистограмму в plotly по убыванию?
мой код:
import plotly.graph_objects as go
def hist(x):
return messages[x].value_counts()
fig = go.Figure(go.Bar(x = hist('kmeans').index,
y = hist('kmeans').values))
fig.update_layout(barmode = 'stack', xaxis = {'categoryorder': 'total descending'})
fig.show()
Ввожу этот код, который подсчитывает количество значений каждого класса, но гистограмма получается следующая:

Я хочу, гистограмма строилась по убыванию значения Y.
Столбец датафрейма, по которому хочу построить график:
Ответы (1 шт):
Автор решения: handowl
→ Ссылка
Отвечая на ваш вопрос и не более, могу сказать, что отсортировать можно так:
messages = messages.sort_values(by='kmeans')
где-то в начале. НО
Это не сработает, видимо, из-за go.Bar(), который все равно преобразует по индексам и сортировка летит лесом.
Как найду решение этой проблемы, дополню ответ
UPD:
Если по иксу числа - то plotly сортирует. Строки - нет, поэтому вот решение:
fig = go.Figure(go.Bar(x = list(map(str, hist('kmeans').index)),
y = hist('kmeans').values))
