Python Plotting a 2d trajectory with Matplotlib

  • Thread starter Avatrin
  • Start date
218
5
Hi

I have a 2d trajectory of a center of mass which I have saved in an array such that r=[[x(t_1),y(t_1)],[x(t_2),y(t_2)],....,[x(t_n),y(t_n)]] where x is x coordinate of the position and y is the y-coordinate of the position.

I have tried this:

xx = [t[0] for t in r]
xy = [t[1] for t in r]
plt.plot(xx,xy)
plt.show()

It produced a plot, but I cannot make it look right. It's supposed to be rotating, but no matter how I change the initial conditions (it's a PDE), the resulting plot doesn't look like a rotation.

How should I go about to plotting this trajectory?
 

Ibix

Science Advisor
Insights Author
4,702
3,041
That appears to be correct code to plot your x value horizontally and your y value vertically, although you may want to set the x and y axes to the same scale:
Python:
plt.plot(xx,xy)
plt.gca().set_aspect("equal")
plt.show()
You can always check this kind of thing by generating some test data and checking that the plot looks like you expect. For example the following should generate most of a circle.
Python:
r=[[math.cos(0.1*p),math.sin(0.1*p)] for p in range(60)]
So presumably either the path doesn't look like you believe it should, or you've made an error generating it.
 
Last edited:

Want to reply to this thread?

"Plotting a 2d trajectory with Matplotlib" You must log in or register to reply here.

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top