Animate a travelling wave - graph view like an oscilloscope
UV Warp modifier (first approach) shifts, scales or rotates the UV map of an object depending of the relative positions, scales or rotations of 2 other objects (generally, you can use empties for these two objects).



So here, if we move one empty, the UV map shifts and so the texture of the plane looks like it was moving.

Here is the setup :


Create two empties : place one of them on X=0 (that will be easier later) and the second one elsewhere
Add the UV Warp modifier to you plane, like this :




And here is the setup of the plane material :


UV unwrap the plane and adjust the UV map to the sinusoid shape on the texture
Use this texture to mix two shaders : one for the red line and the other one for transparency




The transparency is need to show some grid behind the curve when rendered :



At this step, you can move one of the empty and see that the curve seems to move on the plane.

Now the red dot :


Create the dot (a plain circle for instance)
Place it on the border of the plane
Add a driver to its Y position
The driver need to be dependent on the X position of the empty, and to follow a sinus function


As the UV map is 0 to 1, the UV map shifts of 1 when the empty moves of 1 unit. So we need to multiply the X value by 2 PI. 

The setup is the following (can be seen in the graph editor, in drivers editing context) :





Edit : another approach
You can also set up Cycles nodes to draw the curve directly. The main interest here, there is no need of a "static" texture.

Here is an example, made rapidly and so to enhance (using more calculation via drivers, instead of doing it with nodes, surely).



The principle is the following (quickly described) :


Add a keyframe to an input value (to define the speed of the curve)
Use it in the node editor to calculate where the sinus is depending on this value
Use the result on a mix shader node to output red or white, and so draw the curve




Here is this second blend file : 

This is to enhance : more calculations need to be done outside of the nodes (using drivers probably), so that math expressions are more accurate and the nodes setup simplified.