Ask Your Question

# 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() Thanks in advance !

edit retag close merge delete

## Comments

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.

## 1 answer

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

## Comments

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

Just use addition

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


## Your Answer

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

Add Answer

## Stats

Asked: 2015-12-23 06:54:43 -0500

Seen: 47 times

Last updated: Dec 23 '15