Я пытаюсь создать график с горизонтальной полосой, похожий на этот .
Я могу создать вертикальный график, но когда я меняю его на горизонтальный, график становится беспорядочным. Я пробую это двумя способами, используя go
и px
. Я не понимаю, в чем проблема, и не знаю, что делать дальше. Вот мой код:
Использование go
:
import pandas as pd
import chart_studio.plotly as py
import plotly.graph_objects as go
dfs = pd.read_html('https://coronavirus.jhu.edu/data/mortality', header=0)
df = dfs[0]
df['Case-Fatality'] = list(map(lambda x: x[:-1], df['Case-Fatality'].values))
df['Case-Fatality'] = pd.to_numeric(df['Case-Fatality'], downcast='float')
df_sort = df.sort_values(by='Case-Fatality')
fig = go.Figure(go.Bar(
x=df_sort['Country'],
y=df_sort['Case-Fatality'],
))
fig.update_layout(
title='',
xaxis_title='',
yaxis_title='')
fig.show()
Использование px
:
import plotly.express as px
fig = px.bar(df_sort, x='Country', y = 'Case-Fatality', orientation='h')
fig.show()
Следуя документации plotly , Я должен иметь возможность добавить аргумент orientation='h'
к go.bar
или px.bar
. Когда я это делаю, ошибки нет, но график выглядит некорректно.
Вот вертикальное, правильно построенное, но не в предпочтительной ориентации:
Here is with the horizontal orientation, it looks the same with either go
or px
:
введите описание изображения здесь
Любая помощь или руководство о том, почему это не работает, были бы очень признательны.