Miller.draw_circle(projection: str = 'stereographic', figure: Figure | None = None, opening_angle: float | ndarray = 1.5707963267948966, steps: int = 100, reproject: bool = False, axes_labels: List[str] | None = None, hemisphere: str | None = None, show_hemisphere_label: bool | None = None, grid: bool | None = None, grid_resolution: Tuple[float, float] | None = None, figure_kwargs: Dict | None = None, reproject_plot_kwargs: Dict | None = None, return_figure: bool = False, **kwargs: Any) Figure | None[source]#

Draw great or small circles with a given opening_angle to to the vectors in the stereographic projection.

A vector must be present in the current hemisphere for its circle to be drawn.


Which projection to use. The default is "stereographic", the only current option.


Which figure to plot onto. Default is None, which creates a new figure.


Opening angle(s) around the vector(s). Default is \(\pi/2\), giving a great circle. If an array is passed, its size must be equal to the number of vectors.


Number of vectors to describe each circle, default is 100.


Whether to reproject parts of the circle(s) visible on the other hemisphere. Reprojection is achieved by reflection of the circle(s) parts located on the other hemisphere in the projection plane. Ignored if hemisphere is "both". Default is False.


Reference frame axes labels, defaults to [None, None, None].


Which hemisphere(s) to plot the vectors in, defaults to None, which means "upper" if a new figure is created, otherwise adds to the current figure’s hemispheres. Options are "upper", "lower", and "both", which plots two projections side by side.


Whether to show hemisphere labels "upper" or "lower". Default is True if hemisphere is "both", otherwise False.


Whether to show the azimuth and polar grid. Default is whatever axes.grid is set to in matplotlib.rcParams.


Azimuth and polar grid resolution in degrees, as a tuple. Default is whatever is default in stereographic_grid.


Dictionary of keyword arguments passed to matplotlib.pyplot.subplots().


Keyword arguments passed to matplotlib.axes.Axes.plot() to alter the appearance of parts of the circle(s) visible on the other hemisphere if reproject=True. These lines are dashed by default. Values used for circle(s) on the current hemisphere are used unless values are passed here.


Whether to return the figure (default is False).


Keyword arguments passed to matplotlib.axes.Axes.plot() to alter the circles’ appearance.


The created figure, returned if return_figure=True.


This is a somewhat customizable convenience method which creates a figure with axes using StereographicPlot, however, it is meant for quick plotting and prototyping. This figure and the axes can also be created using Matplotlib directly, which is more customizable.

Examples using Miller.draw_circle#

Restrict to fundamental sector

Restrict to fundamental sector