1 | initial version |
Actually, the correct data is given. You specified implicit_plot(f==1,(x,-2,2),(y,-3,3))
, so it gave you exactly those bounds. If you had done
sage: G=implicit_plot(f==1,(x,-1,1),(y,-1,1))
sage: G.get_minmax_data()
{'xmin': -1.0, 'ymin': -1.0, 'ymax': 1.0, 'xmax': 1.0}
you'd get what you expect.
What is going on here is that implicit_plot
just creates a contour plot of the equation with only one contour level.
sage: G=contour_plot(f==1,(x,-1,1),(y,-1,1),contours=[0],fill=False); G
As to your question, this is the attribute (not method)
sage: g = G[0]
sage: g.xy_data_array
Which is large, as it's the values of the function at EVERY data point! Only the 'right' points are connected, using matplotlib's contour functionality. See this as well:
sage: sage.plot.contour_plot.ContourPlot??
class ContourPlot(GraphicPrimitive):
"""
Primitive class for the contour plot graphics type. See
``contour_plot?`` for help actually doing contour plots.
INPUT:
- ``xy_data_array`` - list of lists giving evaluated values of the function on the grid
I hope this helps! By the way, as long as you are in the Sage interpreter or notebook (or a .sage file), you can do f(x,y)=x^2+y^2
; you only need **
if you are writing a Python file.