Ask Your Question

Set axes in 3d plot

Is there a way to set the kind of axes shown in a 3d plot? Seems like you should be able to specify boxed, axes, etc. in the show command.

edit retag close merge delete

2 answers

Sort by ยป oldest newest most voted

You can write your own python function to draw axes, something like:

def axes(xmin=-1,xmax=1,ymin=-1,ymax=1,zmin=-1,zmax=1,**kwds):
ex = vector((1,0,0))
ey = vector((0,1,0))
ez = vector((0,0,1))
G =  line3d([xmin*ex,xmax*ex],**kwds)
G += line3d([ymin*ey,ymax*ey],**kwds)
G += line3d([zmin*ez,zmax*ez],**kwds)
return G

axes(xmax=2,zmax=4,color='red',thickness=2).show()

more

You can do frame=False and axes=True, but doubtless you're talking about something more substantial, and these leave ... less than desirable results. I'm not sure why the axes are in the wrong place sometimes, though I believe there is a ticket open for this.

more

Comments

Thanks for the help. I really went a few rounds with the plot3d options this afternoon and ended up using the line command to create some axes. Just wanted to make sure I hadn't missed something in the documentation somehow.

( 2012-05-23 17:25:29 -0600 )edit
1

That's probably what I would do at this point too. It would be great to have a nice axes option for 3d graphics.

( 2012-05-24 06:10:09 -0600 )edit

See http://trac.sagemath.org/ticket/19442 for a belated followup ticket.

( 2015-10-20 13:33:08 -0600 )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: 2012-05-23 09:57:23 -0600

Seen: 1,458 times

Last updated: May 24 '12