How to generate a phase plane plot from data points?

I have a list of points

Rabbits={{0,20},{0.01,20.0024},{0.02,20.0071}...}

Foxes={{0,40},{0.01,39.76},{0.02,39.5214}...}

I want to create a phase plane with these points. I've tried using ParametricPlot,

ParametricPlot[{Rabbits, Foxes}, {t, 0, 100}]

But Mathematica keep running. What am I doing wrong?

• You should share your complete data. – zhk Feb 19 '17 at 16:43

ListStreamPlot

Are you looking for something like this?

data = Table[{{x, y}, {y, x - x^2}}, {x, -1.5, 1.5, 0.2}, {y, -2, 2, 0.2}];
ListStreamPlot[data]

Edit

ParametricPlot

Since you haven't provided a complete data. So, I will generate my own while taking data from a predator-prey model, to make my response more relevant to the question.

sol = With[{r = 0.5}, NDSolve[{U'[t] == r*(U[t] - U[t]*V[t]),
V'[t] == 1/r*(U[t]*V[t] - V[t]), U == 1.1, V == 1}, {U,
V}, {t, 0, 20}]];

You can think of U to be rabbits density and V foxes density.

rabbitsdata = Table[Flatten@Evaluate[{t, U[t]} /. sol], {t, 0, 20, 0.1}];
foxesdata = Table[Flatten@Evaluate[{t, V[t]} /. sol], {t, 0, 20, 0.1}];

The structure of the above data is like the one you provided, i.e, {{time, Rabbitdensity},....}.

Now, I will interpolate the above data to generate two interpolating functions,

{U, V} = ListInterpolation[#, {{0, 20}}] & /@ {rabbitsdata[[All, 2]], foxesdata[[All, 2]]};

Finally, plotting the phase-portrait using ParametricPlot,

ParametricPlot[{U[t], V[t]}, {t, 0, 20}, Frame -> True] • Yes, this is perfect!! – Deborah_Watson Feb 19 '17 at 16:48
• @Deborah_Watson For more details about this, you should search ListStreamPlot. – zhk Feb 19 '17 at 16:49

Parametric plot is used to plot parametric functions. In your case you should use ListPlot instead.

For this first you need list of two tuples like {{20,40},{20.0024,39.76}....}. This can be achieved as follows:

Transpose[{Transpose[Rabbits[[2, All]]], Transpose[Foxes[[2, All]]]}]

Once you are done, you can use ListPlot to get desired output:

ListPlot[Transpose[{Transpose[Rabbits[[2, All]]], Transpose[Foxes[[2, All]]]}], PlotRange->All]
• This is just the thing I wanted, thank you soo much. I can't believe how simple that was!!! – Deborah_Watson Feb 20 '17 at 20:25