# Plot in a function

Hello,

Is it normal that i can't plot in a function ?

Without a function:

plot(point([1, 1]))


With a function:

def toto():
plot(point([1, 1]))
toto()


edit retag close merge delete

Can you provide the code you used?

( 2015-12-23 08:31:12 -0600 )edit

All the code is in the pictures. :(

( 2015-12-23 08:37:31 -0600 )edit

It is better to write the code instead of providing picture. If I want to try the code it is simpler for me to do a copy paste... that is not possible with pictures.

( 2015-12-23 08:41:03 -0600 )edit

Sorry, I have edited my post.

( 2015-12-23 08:47:00 -0600 )edit

Sort by ยป oldest newest most voted

First of all in your code you can replace plot(point([1,1])) by point([1,1]).

And the answer is yes. All plot functions return a graphic objects that can be further manipulated. In your function you are creating a graphic but not using it at all. The following code shows what is a graphic

sage: G = point([1,1])
sage: type(G)
<class 'sage.plot.graphics.Graphics'>
sage: G    # will show the graphics


If you want that your function shows the graphic you can do

def my_graphic():
G = point([1,1])
G.show()


If you want that your function returns a graphic you can do

def my_graphic():
G = point([1,1])
return G

more

Thanks ! If I call several times the function, how can I concatenate the graphics to show them in one graph ?

( 2015-12-23 08:53:45 -0600 )edit

sage: point([1,1]) + point([3,2])

( 2015-12-23 08:56:03 -0600 )edit