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

Can you provide the code you used?

( 2015-12-23 15:31:12 +0200 )edit

All the code is in the pictures. :(

( 2015-12-23 15:37:31 +0200 )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 15:41:03 +0200 )edit

Sorry, I have edited my post.

( 2015-12-23 15:47:00 +0200 )edit

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 ?

( 2015-12-23 15:53:45 +0200 )edit

Just use addition

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

( 2015-12-23 15:56:03 +0200 )edit

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 13:54:43 +0200

Seen: 625 times

Last updated: Dec 23 '15