beach(fm, linewidth=2, facecolor='b', bgcolor='w', edgecolor='k', alpha=1.0, xy=(0, 0), width=200, size=100, nofill=False, zorder=100, mopad_basis='USE', axes=None)[source]

Return a beach ball as a collection which can be connected to an current matplotlib axes instance (ax.add_collection). Based on MoPaD.

S1, D1, and R1, the strike, dip and rake of one of the focal planes, can be vectors of multiple focal mechanisms.

  • fm – Focal mechanism that is either number of mechanisms (NM) by 3 (strike, dip, and rake) or NM x 6 (M11, M22, M33, M12, M13, M23 - the six independent components of the moment tensor, where the coordinate system is 1,2,3 = Up,South,East which equals r,theta,phi - Harvard/Global CMT convention). The relation to Aki and Richards x,y,z equals North,East,Down convention is as follows: Mrr=Mzz, Mtt=Mxx, Mpp=Myy, Mrt=Mxz, Mrp=-Myz, Mtp=-Mxy. The strike is of the first plane, clockwise relative to north. The dip is of the first plane, defined clockwise and perpendicular to strike, relative to horizontal such that 0 is horizontal and 90 is vertical. The rake is of the first focal plane solution. 90 moves the hanging wall up-dip (thrust), 0 moves it in the strike direction (left-lateral), -90 moves it down-dip (normal), and 180 moves it opposite to strike (right-lateral).

  • facecolor – Color to use for quadrants of tension; can be a string, e.g. 'r', 'b' or three component color vector, [R G B]. Defaults to 'b' (blue).

  • bgcolor – The background color. Defaults to 'w' (white).

  • edgecolor – Color of the edges. Defaults to 'k' (black).

  • alpha – The alpha level of the beach ball. Defaults to 1.0 (opaque).

  • xy – Origin position of the beach ball as tuple. Defaults to (0, 0).

  • width (int) – Symbol size of beach ball. Defaults to 200.

  • size – Controls the number of interpolation points for the curves. Minimum is automatically set to 100.

  • nofill – Do not fill the beach ball, but only plot the planes.

  • zorder – Set zorder. Artists with lower zorder values are drawn first.

  • mopad_basis – The basis system. Defaults to 'USE'. See the Supported Basis Systems section below for a full list of supported systems.

  • axes (matplotlib.axes.Axes) – Used to make beach balls circular on non-scaled axes. Also maintains the aspect ratio when resizing the figure. Will not add the returned collection to the axes instance.

Supported Basis Systems


Basis vectors



North, East, Down

Jost and Herrmann 1989


Up, South, East

Global CMT Catalog, Larson et al. 2010


East, North, Up

General formulation, Jost and Herrmann 1989


Radial, Transverse, Tangential

psmeca (GMT), Wessel and Smith 1999


North, West, Up

Stein and Wysession 2003