Ellipses#

class sage.plot.ellipse.Ellipse(x, y, r1, r2, angle, options)#

Bases: GraphicPrimitive

Primitive class for the Ellipse graphics type. See ellipse? for information about actually plotting ellipses.

INPUT:

  • x,y - coordinates of the center of the ellipse

  • r1, r2 - radii of the ellipse

  • angle - angle

  • options - dictionary of options

EXAMPLES:

Note that this construction should be done using ellipse:

sage: from math import pi
sage: from sage.plot.ellipse import Ellipse
sage: Ellipse(0, 0, 2, 1, pi/4, {})
Ellipse centered at (0.0, 0.0) with radii (2.0, 1.0) and angle 0.78539816339...
get_minmax_data()#

Return a dictionary with the bounding box data.

The bounding box is computed to be as minimal as possible.

EXAMPLES:

An example without an angle:

sage: p = ellipse((-2, 3), 1, 2)
sage: d = p.get_minmax_data()
sage: d['xmin']
-3.0
sage: d['xmax']
-1.0
sage: d['ymin']
1.0
sage: d['ymax']
5.0

The same example with a rotation of angle \(\pi/2\):

sage: from math import pi
sage: p = ellipse((-2, 3), 1, 2, pi/2)
sage: d = p.get_minmax_data()
sage: d['xmin']
-4.0
sage: d['xmax']
0.0
sage: d['ymin']
2.0
sage: d['ymax']
4.0
plot3d()#

Plotting in 3D is not implemented.

sage.plot.ellipse.ellipse(center, r1, r2, angle=0, alpha=1, fill=False, thickness=1, edgecolor='blue', facecolor='blue', linestyle='solid', zorder=5, aspect_ratio=1.0, legend_label=None, legend_color=None, **options)#

Return an ellipse centered at a point center = (x,y) with radii = r1,r2 and angle angle. Type ellipse.options to see all options.

INPUT:

  • center - 2-tuple of real numbers - coordinates of the center

  • r1, r2 - positive real numbers - the radii of the ellipse

  • angle - real number (default: 0) - the angle between the first axis and the horizontal

OPTIONS:

  • alpha - default: 1 - transparency

  • fill - default: False - whether to fill the ellipse or not

  • thickness - default: 1 - thickness of the line

  • linestyle - default: 'solid' - The style of the line, which is one of 'dashed', 'dotted', 'solid', 'dashdot', or '--', ':', '-', '-.', respectively.

  • edgecolor - default: ‘black’ - color of the contour

  • facecolor - default: ‘red’ - color of the filling

  • rgbcolor - 2D or 3D plotting. This option overrides edgecolor and facecolor for 2D plotting.

  • legend_label - the label for this item in the legend

  • legend_color - the color for the legend label

EXAMPLES:

An ellipse centered at (0,0) with major and minor axes of lengths 2 and 1. Note that the default color is blue:

sage: ellipse((0,0),2,1)
Graphics object consisting of 1 graphics primitive
../../_images/ellipse-1.svg

More complicated examples with tilted axes and drawing options:

sage: from math import pi
sage: ellipse((0,0), 3, 1, pi/6, fill=True, alpha=0.3, linestyle="dashed")
Graphics object consisting of 1 graphics primitive
../../_images/ellipse-2.svg

other way to indicate dashed linestyle:

sage: ellipse((0,0),3,1,pi/6,fill=True,alpha=0.3,linestyle="--")
Graphics object consisting of 1 graphics primitive
../../_images/ellipse-3.svg

with colors

sage: ellipse((0,0),3,1,pi/6,fill=True,edgecolor='black',facecolor='red')
Graphics object consisting of 1 graphics primitive
../../_images/ellipse-4.svg

We see that rgbcolor overrides these other options, as this plot is green:

sage: ellipse((0,0),3,1,pi/6,fill=True,edgecolor='black',facecolor='red',rgbcolor='green')
Graphics object consisting of 1 graphics primitive
../../_images/ellipse-5.svg

The default aspect ratio for ellipses is 1.0:

sage: ellipse((0,0),2,1).aspect_ratio()
1.0

One cannot yet plot ellipses in 3D:

sage: ellipse((0,0,0),2,1)
Traceback (most recent call last):
...
NotImplementedError: plotting ellipse in 3D is not implemented

We can also give ellipses a legend:

sage: ellipse((0,0),2,1,legend_label="My ellipse", legend_color='green')
Graphics object consisting of 1 graphics primitive
../../_images/ellipse-6.svg