Ask Your Question

How can I plot two parametric functions in a common coordinate system?

asked 2021-12-22 23:45:43 +0100

Konstantin gravatar image

I can easily use parametric_plot() to plot 1 parametric function at once. For example


plots a nice Lissajous curve.

I also can plot a circle:


But how can I plot both of them in a common coordinate system?

I tried:


Which doesn't work -> Last error message: ''tuple' object is not callable'

I also tried:


Error: 'Graphics' object has no attribute 'options'

Then how can I use parametric_plot() to plot two parametric functions at once, in a common coordinate system?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-12-23 04:25:21 +0100

slelievre gravatar image

updated 2021-12-24 20:11:09 +0100

Graphics object can be combined using +.

So in your case this should work:

sage: pl = pl1 + pl2
sage: pl

Edit, inspired by @Emmanuel Charpentier's comment to my initial answer.

This works too:

sage: t = SR.var('t')
sage: xys = [[sin(2*t), cos(3*t)], [sin(t), cos(t)]]
sage: sum(parametric_plot(xy, (t, 0.0, 9.0), aspect_ratio=1) for xy in xys)
edit flag offensive delete link more


Alternates to slelievre's solution :

sage: t=SR.var("t")
sage: L=[[sin(2*t),cos(3*t)],[sin(t),cos(t)]]
sage: sum(map(lambda c:parametric_plot(c,(t,0.0,9),aspect_ratio=1), L))
Launched png viewer for Graphics object consisting of 2 graphics primitives
sage: sum(map(lambda c:plot(c,(t,0.0,9),aspect_ratio=1,parametric=True), L))
Launched png viewer for Graphics object consisting of 2 graphics primitives


Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 2021-12-23 08:27:43 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2021-12-22 23:45:43 +0100

Seen: 27 times

Last updated: Dec 24 '21