使用Plotly graph_objs
构建具有多个迹线的条形图时,默认情况下会显示所有迹线。
是否有一种方法可以在默认情况下仅显示一个,然后使用use选项显示多个?
使用下面的示例,默认情况下,图表将同时显示year_count
和year_amount
的条形,有没有一种方法可以默认仅显示year_amount
并为用户提供可以同时显示两者吗?
import pandas as pd
import plotly.graph_objs as go
df = pd.DataFrame({"year": [2019] * 3 + [2020] * 8,
"amount": [3, 10, 5, 2, 20, 8, 3, 2, 4, 5, 10]})
df_grp = df.groupby("year").agg(
year_count=("amount", "count"),
year_amt_sum=("amount", "sum")
).reset_index()
fig = go.Figure([go.Bar(x=df_grp["year"], y=df_grp["year_count"], name="year_count"),
go.Bar(x=df_grp["year"], y=df_grp["year_amt_sum"], name="year_amount")])
fig.show()
上面的示例是在Python 3.7.3,pandas 1.0.2和Plotly 4.3.0上运行的。