# How to plot many functions on the same graph

Hello, I have a list of functions but I don't know how to put them all on a single graph? I know one way to use 'show' like : show(plot1+plot2),

but is there a way that can cope with a function list or graph obj list? As maybe I'm not sure how many functions to plot.

for a specific exapmle:

var('x y')
f=x^0.5+y
lfs=[]
for i in range(5):
fs.append(f-i)


now how to show all functions in the lfs list on a single graph?

edit retag close merge delete

Sort by » oldest newest most voted

That is it. You can also use the sum command to combine a list of plot objects.

f=x^2+10
p=[]
for i in range(0,5):
p.append(plot(f-i,(x,-3,3)))
sum(p)


You can use list comprehensions in Python to shorten this significantly and produce the same result.

sum([plot(x^2+10 - i,(x,-3,3)) for i in range(0,5)])

more

Doesn't seem to work. Complains about wrong type. Apparently you can't add plots together with sum(). Leaky abstraction?

 TypeError: unsupported operand type(s) for +: 'int' and 'tuple' 

( 2022-10-31 00:25:35 +0200 )edit

I've got a solution like this:

var('x')
g = Graphics()
g += plot(x-3, (x,-5,5))
g += plot(x-2, (x, -5, 5))
g.show()

more