问题描述
我正在尝试创建一个带有下拉菜单的带注释的热图,以在两组不同的数据之间进行切换。数据集具有相同的格式,我添加了一个有效的下拉菜单。但是我一次只能添加一个数据集。我正在使用
fig = ff.create_annotated_heatmap(data,annotation_text=numbers,showscale=True,colorscale=colorscale,text=hover,hoverinfo='text')
创建带注释的热图。是否可以通过下拉菜单添加第二个数据集来切换?
解决方法
已解决。必须将第二个数据集添加到下拉菜单对象的args中 以及所需的其他任何更改(例如,悬停文字)
,我刚刚意识到使用菜单在两个图之间切换是多么容易。您只需从每个图形中获取数据即可创建到之间的轨迹列表
from plotly.offline import init_notebook_mode,iplot
import plotly.figure_factory as ff
init_notebook_mode(connected=True)
fig_1 = ff.create_annotated_heatmap(...)
fig_2 = ff.create_annotated_heatmap(...)
menu_items = ["Heatmap 1","Heatmap 2"]
trace1 = fig_1.to_dict()["data"][0]
trace2 = fig_2.to_dict()["data"][0]
buttons = []
for i,menu_item in enumerate(menu_items):
visibility = [i==j for j in range(len(menu_items))]
button = dict(
label = menu_item,method = 'update',args = [{'visible': visibility},{ 'title' : menu_item }])
buttons.append(button)
updatemenus = list([
dict(buttons = buttons)
])
layout = dict(updatemenus = updatemenus,title=menu_items[0])
fig = dict(data=[trace1,trace2],layout=layout)
iplot(fig)