class sage.plot.disk.Disk(point, r, angle, options)

Bases: sage.plot.primitive.GraphicPrimitive

Primitive class for the Disk graphics type. See disk? for information about actually plotting a disk (the Sage term for a sector or wedge of a circle).


  • point - coordinates of center of disk
  • r - radius of disk
  • angle - beginning and ending angles of disk (i.e. angle extent of sector/wedge)
  • options - dict of valid plot options to pass to constructor


Note this should normally be used indirectly via disk:

sage: from sage.plot.disk import Disk
sage: D = Disk((1,2), 2, (pi/2,pi), {'zorder':3})
sage: D
Disk defined by (1.0,2.0) with r=2.0 spanning (1.57079632679, 3.14159265359) radians
sage: D.options()['zorder']
sage: D.x

Returns a dictionary with the bounding box data.


sage: D = disk((5,4), 1, (pi/2, pi))
sage: d = D.get_minmax_data()
sage: d['xmin']
sage: d['ymin']
sage: d['xmax']
sage: d['ymax']
plot3d(z=0, **kwds)

Plots a 2D disk (actually a 52-gon) in 3D, with default height zero.


  • z - optional 3D height above \(xy\)-plane.


  • Karl-Dieter Crisman (05-09)


sage: disk((0,0), 1, (0, pi/2)).plot3d()
Graphics3d Object
sage: disk((0,0), 1, (0, pi/2)).plot3d(z=2)
Graphics3d Object
sage: disk((0,0), 1, (pi/2, 0), fill=False).plot3d(3)
Graphics3d Object

These examples show that the appropriate options are passed:

sage: D = disk((2,3), 1, (pi/4,pi/3), hue=.8, alpha=.3, fill=True)
sage: d = D[0]
sage: d.plot3d(z=2).texture.opacity
sage: D = disk((2,3), 1, (pi/4,pi/3), hue=.8, alpha=.3, fill=False)
sage: d = D[0]
sage: dd = d.plot3d(z=2)
sage: dd.jmol_repr(dd.testing_render_params())[0][-1]
'color $line_4 translucent 0.7 [204,0,255]'
sage.plot.disk.disk(point, radius, angle, rgbcolor=(0, 0, 1), thickness=0, aspect_ratio=1.0, alpha=1, legend_label=None, fill=True, **options)

A disk (that is, a sector or wedge of a circle) with center at a point = \((x,y)\) (or \((x,y,z)\) and parallel to the \(xy\)-plane) with radius = \(r\) spanning (in radians) angle=`(rad1, rad2)`.

Type disk.options to see all options.


Make some dangerous disks:

sage: bl = disk((0.0,0.0), 1, (pi, 3*pi/2), color='yellow')
sage: tr = disk((0.0,0.0), 1, (0, pi/2), color='yellow')
sage: tl = disk((0.0,0.0), 1, (pi/2, pi), color='black')
sage: br = disk((0.0,0.0), 1, (3*pi/2, 2*pi), color='black')
sage: P  = tl+tr+bl+br
sage: P.show(xmin=-2,xmax=2,ymin=-2,ymax=2)

The default aspect ratio is 1.0:

sage: disk((0.0,0.0), 1, (pi, 3*pi/2)).aspect_ratio()

Another example of a disk:

sage: bl = disk((0.0,0.0), 1, (pi, 3*pi/2), rgbcolor=(1,1,0))
sage: bl.show(figsize=[5,5])

Note that since thickness defaults to zero, it is best to change that option when using fill=False:

sage: disk((2,3), 1, (pi/4,pi/3), hue=.8, alpha=.3, fill=False, thickness=2)
Graphics object consisting of 1 graphics primitive

The previous two examples also illustrate using hue and rgbcolor as ways of specifying the color of the graphic.

We can also use this command to plot three-dimensional disks parallel to the \(xy\)-plane:

sage: d = disk((1,1,3), 1, (pi,3*pi/2), rgbcolor=(1,0,0))
sage: d
Graphics3d Object
sage: type(d)
<type 'sage.plot.plot3d.index_face_set.IndexFaceSet'>

Extra options will get passed on to show(), as long as they are valid:

sage: disk((0, 0), 5, (0, pi/2), xmin=0, xmax=5, ymin=0, ymax=5, figsize=(2,2), rgbcolor=(1, 0, 1))
Graphics object consisting of 1 graphics primitive
sage: disk((0, 0), 5, (0, pi/2), rgbcolor=(1, 0, 1)).show(xmin=0, xmax=5, ymin=0, ymax=5, figsize=(2,2)) # These are equivalent