Ask Your Question

# Contour Plots and Points Why can I not have a single point on a contour plot?

var('x,y')

f(x,y)=sin(x)*cos(y)

G = contour_plot(f(x,y),(x,-3,3),(y,-3,3),contours=20,plot_points=100)

G += point((1,1), size=100)

G.show()


does not display the point. I can add a line (for example)

G += line(((1.5,1),(1.5,0)))


and that line shows up but not the point.

Thanks.

JT

edit retag close merge delete

## 2 answers

Sort by » oldest newest most voted The point is there -- it's simply lurking behind the contour plot. Or, in matplotlib jargon (one of the plotting packages Sage uses is called matplotlib), it doesn't have a higher zorder. The zorder is the layer level, where the layers are drawn from lower to higher.

I can never remember what zorders different things default to, but it's usually easily changed manually:

var('x,y')
f(x,y)=sin(x)*cos(y)
G = contour_plot(f(x,y),(x,-3,3),(y,-3,3),contours=20,plot_points=100)
G += point((1,1), size=100,zorder=2)
G.show()


produces more

Thanks.

Just to be certain, why does subsequently plotting a line without a zorder not put that line behind the contour plot as well?

more

## Comments

Unfortunately I don't understand the order in which things are drawn well enough to say what the order is when zorders aren't specified/things have the same zorder. Note that you can use the ".set_zorder" method on graphics objects to change it after-the-fact.

1

it seems to make sense to have contour plots below other things generally. It would be great if someone came up with a comprehensive sensible default zorder for all of the graphics objects.

Agreed. But who will take the responsibility for user complaints that that zorder setup is wrong?

the same person that does now...the user who wants to submit a patch.

## 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-01-15 14:39:31 -0500

Seen: 505 times

Last updated: Jan 16 '12