✊🏿 Black Lives Matter. Please consider donating to Black Girls Code today.
⚡️ Concerned about the grid? Kyle Baranko teaches how to predicting peak loads using XGBoost. Register for the August webinar! # Animating graphs in plotly

Hello,

I’ve been having a hard time understanding the new normal way to plotly’s coding style. I’m too used to using the `trace = go.Scatter(x, y...) etc..`.

I tried recreating the example shown in this link

``````N = 50
s = np.linspace(-1,1,N)
vx = 1+2*s
vy = 1-2*s #v=(vx, vy) is the velocity
speed = np.sqrt(vx**2+vy**2)
ux = vx/speed #(ux, uy) unit tangent vector, (-uy, ux) unit normal vector
uy = vy/speed

xend = xx + ux #end coordinates for the unit tangent vector at (xx, yy)
yend = yy + uy

xnoe = xx - uy #end coordinates for the unit normal vector at (xx,yy)
ynoe = yy + ux

trace = go.Scatter(
x = x,
y = y,
name = 'frame',
mode = 'lines',
line = dict(
width = 2,
color = 'blue')
)

trace1 = go.Scatter(
x = x,
y = y,
name = 'curve',
mode = 'lines',
line = dict(
width = 2,
color = 'blue')
)

layout = go.Layout(
width = 600,
height = 600,
xaxis = dict(
range = [xm, xM],
autorange = False,
zeroline = False
),
yaxis = dict(
range = [ym, yM],
autorange = False,
zeroline = False
),
title = 'Moving Frenet Frame Along a Planar Curve',
hovermode = 'closest',
visible = True,
type = 'buttons',
buttons = dict(
method = 'animate',
label = 'Play',
args = [None]
)
)
)

frames = go.Frames(
data = [dict(
x = [xx[k], xend[k], None, xx[k], xnoe[k]],
y = [yy[k], yend[k], None, yy[k], ynoe[k]],
mode = 'lines',
line = dict(
color = 'red',
width = 2
)
) for k in range(N)]
)

fig = go.Figure(data = [trace,trace1], layout = layout, frames = frames)

py.iplot(fig)
``````

which is essentially the same thing from the documentation but the code above throws an error. Please help!

@l3r4nd The code for this animation is incomplete. My feeling is that it was pasted here https://plot.ly/python/animations/ and the first lines were skipped.

Here is a working code: https://plot.ly/~empet/14827.

1 Like