All plotting functions are just wrappers for Graphics
objects. Show
can be used to combine these objects, and that's one way of doing what you want here.
Take the following code as a starting point; you will of course have to tweak the positions of the labels (right now it's just a radial factor that offsets them). Note that I modified the data
variable so that it includes $t$; it is now of the form {t, Re, Im}
. The ListPlot
will plot only the real and imaginary parts (data[[All, {2, 3}]]
), while the Text
passage also takes into account the value of $t$.
data = Table[{t, Re[5 Exp[I 5/2 t]], Im[5 Exp[I 5/2 t]]}, {t, 0, 6}];
dataPlot = ListPlot[data[[All, {2, 3}]], PlotStyle -> PointSize -> Large];
labels = Text[#[[1]], 1.1 #[[{2, 3}]]] & /@ data;
Show[
dataPlot,
Graphics[{Red, labels}],
PlotRange -> 6 {{-1, 1}, {-1, 1}},
AspectRatio -> 1
]
You can of course generalize this arbitrarily, e.g. color the labels differently, change font size etc. I kept the above to a minimum to avoid cluttering, the rest is up to you.