Я строю тепловую карту с кумулятивной анимацией рассеяния для построения важных точек. Когда я начинаю скаттер анимацию, тепловая карта исчезает. Я рисую и мои точечные и тепловые карты как следы. Как я могу нарисовать мою тепловую карту один раз, а затем разбросать ее? Вот мой код:
, размещенный на сюжетном форуме: https://community.plot.ly/t/keep-heatmap-when-animation-starts/33671
scatterDf = pd.DataFrame({'Time': scatterDataX, 'Depth': scatterDataY, 'TimeShow': scatterTime})
fig = go.Figure()
traceHeatmap = go.Heatmap(
z=z2,
zauto=False,
zmin=-1,
zmax=1
)
traceScatter = go.Scatter(
x=[],
y=[],
mode='markers',
marker=dict(color=scatterDataX)
)
data = [traceHeatmap, traceScatter]
dataX = list(scatterDf['Time'])
dataY = list(scatterDf['Depth'])
frames = [dict(data= [dict(type='scatter',
x=dataX[:k+1],
y=dataY[:k+1])],
traces=[1],
name='frame{}'.format(k)
)for k in range(1, len(scatterDf))]
layout = go.Layout(
autosize=True,
hovermode='closest'
)
sliders = [dict(steps= [dict(method= 'animate',
args= [[ 'frame{}'.format(k) ],
dict(mode= 'immediate',
frame= dict( duration=100, redraw= False),
transition=dict( duration= 0)
)
],
label='{:d}'.format(k)
) for k in range(len(scatterDf))],
transition= dict(duration= 0 ),
x=0,#slider starting position
y=0,
currentvalue=dict(font=dict(size=12),
prefix='Point: ',
visible=True,
xanchor= 'center'),
len=1.0)
]
layout.update(updatemenus=[dict(type='buttons', showactive=False,
y=0,
x=0,
buttons=[dict(label='Play',
method='animate',
args=[None,
dict(frame=dict(duration=100,
redraw=False),
transition=dict(duration=0),
fromcurrent=True, mode='immediate')
]
)
]
)
],
sliders=sliders)
fig = go.Figure(data=data, layout=layout, frames=frames)
fig.update_yaxes(autorange="reversed", range=[5000, -1000])
fig.show()