【发布时间】:2021-05-10 11:57:52
【问题描述】:
我想在 python 中安装一个下拉过滤器 - 不使用破折号。
我想出的解决方案适用于 xaxis/yaxis 范围不改变的情况,例如热图。如果范围发生变化,它就不能再正常工作了。
示例:包含国家/地区信息的条形图。适用于意大利和加拿大。如果我切换到人口数量高于初始国家意大利的德国,则 y 轴范围不会增加。这怎么可能解决?或者一般来说有没有更有效的方法?
非常感谢您提供有用的建议!
例子:
# Data
df = px.data.gapminder()
df = df[['country','year', 'pop']]
df.head(3)
# Create Barchart
def generate_barchart(ins):
fig = px.bar(df[df['country']==ins], x='year', y='pop')
return fig
# Dropdown: Content
uplist1 = ['Italy', 'Canada', 'Germany']
uplist2 = [generate_barchart(ins) for ins in uplist1]
# Dropdown: Implementation
upfilter = [{'method': 'animate', 'label': i1, 'args': [i2]} for i1, i2 in zip(uplist1, uplist2)]
updatemenus = [{'buttons': upfilter}]
# Initial barchart
fig = go.Figure(uplist2[0])
# Add dropdown
fig.update_layout(updatemenus=updatemenus)
# Result
fig
【问题讨论】: