# How to draw line animation using ListPlot?

Basically, I want to create a movable, horizontal line, whose coordinates are (-4, h(t)) and (4, h(t)), that will move along the y-axis as t increases. Now, I already knew how to draw a movable dot:

MovieFrames =
Table[
ListPlot[{{0, h[k / 10]}},
PlotRange -> {{-1, 1}, {0, 75}}, PlotStyle -> Red],
{k, 0, 41}];

ListAnimate[MovieFrames,
AnimationRunning -> false, AnimationRepetitions -> 10, Animation -> Rate]


The above instructions will draw a movable dot that moves along the y-axis as t increases. I think the instruction for drawing a line is just like the extension to the above instruction, but I tried Graphics[Line..] and LisPlot, both of which did not work. Could someone give me a sample instruction for how to create a movable, horizontal line? Thank you in advance.

• I will do that next time. Thanks for pointing this out. Commented Feb 4, 2019 at 12:44

You did not include the definition for h[t] so I will use

h[t_] = 10 t;


To make a line with ListPlot you need two points and the option Joined->True

MovieFrames =
Table[
ListPlot[
{{-4, h[k/10]}, {4, h[k/10]}},
Joined -> True,
PlotRange -> {{-4, 4}, {0, 75}},
PlotStyle -> Red],
{k, 0, 41}];


or use ListLinePlot and the points are automatically joined

MovieFrames =
Table[
ListLinePlot[
{{-4, h[k/10]}, {4, h[k/10]}},
PlotRange -> {{-4, 4}, {0, 75}},
PlotStyle -> Red],
{k, 0, 41}];


or use ParametricPlot

MovieFrames =
Table[
ParametricPlot[{t, h[k/10]}, {t, -4, 4},
PlotRange -> {{-4, 4}, {0, 75}},
PlotStyle -> Red,
AspectRatio -> 1/GoldenRatio],
{k, 0, 41}];


or just Plot

MovieFrames =
Table[
Plot[h[k/10], {t, -4, 4},
PlotRange -> {{-4, 4}, {0, 75}},
PlotStyle -> Red,
AspectRatio -> 1/GoldenRatio],
{k, 0, 41}];

ListAnimate[MovieFrames, AnimationRunning -> False,
AnimationRepetitions -> 10, AnimationRate -> 4]


• Got it. Thank you all so much! Commented Feb 4, 2019 at 12:44