Python Plotting a 2d trajectory with Matplotlib

Click For Summary
The discussion centers on plotting a 2D trajectory of a center of mass represented by an array of coordinates. The initial attempt to plot the trajectory using matplotlib produced an unsatisfactory result, failing to show the expected rotation. Suggestions include ensuring that the x and y axes are set to the same scale for accurate representation, using the command plt.gca().set_aspect("equal"). Additionally, generating test data, such as points along a circle, is recommended to verify that the plotting method works correctly. This implies that the issue may lie in the trajectory data itself or its generation rather than the plotting code.
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?
 
Technology news 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 Avatrin
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 4 ·
Replies
4
Views
7K
  • · Replies 1 ·
Replies
1
Views
916
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
10K
  • · Replies 21 ·
Replies
21
Views
5K
Replies
4
Views
4K