我正在尝试创建一个与此类似的水平条形图。
我可以生成垂直图,但是当我将其更改为水平图时,图就变得一团糟。我正在尝试两种方法,使用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()
Run Code Online (Sandbox Code Playgroud)
使用px:
import plotly.express as px
fig = px.bar(df_sort, x='Country', y = 'Case-Fatality', orientation='h')
fig.show()
Run Code Online (Sandbox Code Playgroud)
按照情节文档,我应该能够orientation='h'向go.baror添加参数px.bar。当我这样做时,没有错误,但情节看起来不正确。
go …
我不清楚如何在情节表达的图形中设置线条的样式,改变颜色和宽度。该plotly文件提供的建议使用去风格的线条,但我没有看到PX信息。
例子
import plotly.express as px
df = px.data.gapminder().query("continent=='Oceania'")
fig = px.line(df, x="year", y="lifeExp", color='country')
fig.show()
Run Code Online (Sandbox Code Playgroud)
我尝试将其line=dict(color='firebrick', width=4)作为参数,px.line但这会引发错误,line() got an unexpected keyword argument 'line'因为它是 go 而不是 px 的代码。