#python #plotly #bar-chart #legend #plotly-express
Вопрос:
Я использую этот пример кода, приведенный на веб-сайте plotly.
import plotly.express as px
long_df = px.data.medals_long()
fig = px.bar(long_df, x="nation", y="count", color="medal", title="Long-Form Input")
fig.show()
Это дает сюжет, как показано ниже.
Как я могу переименовать легенды, чтобы заменить золото, серебро и бронзу на первую, вторую и третью?
Ответ №1:
сопоставьте данные с нужными вам значениями
import plotly.express as px
long_df = px.data.medals_long()
fig = px.bar(long_df, x="nation", y="count",
color=long_df["medal"].map({"gold":"first","silver":"second","bronze":"third"}),
title="Long-Form Input")
fig.show()
Ответ №2:
Я часто использую этот подход
fig.for_each_trace(lambda t: t.update(name = newnames[t.name]))
где имена-это dict
:
newnames = {'gold':'1', 'silver': '2', 'bronze':'3'}
Сюжет:
Полный код:
import plotly.express as px
long_df = px.data.medals_long()
fig = px.bar(long_df, x="nation", y="count", color="medal", title="Long-Form Input")
newnames = {'gold':'1', 'silver': '2', 'bronze':'3'}
fig.for_each_trace(lambda t: t.update(name = newnames[t.name]))
fig.show()