Plotting a 2d trajectory with Matplotlib

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 replies · 11K views
Avatrin
Messages
242
Reaction score
6
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?
 
on Phys.org
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:
  • Like
Likes   Reactions: Avatrin