Learn R Programming

sportyR (version 2.2.2)

Plot Scaled 'ggplot' Representations of Sports Playing Surfaces

Description

Create scaled 'ggplot' representations of playing surfaces. Playing surfaces are drawn pursuant to rule-book specifications. This package should be used as a baseline plot for displaying any type of tracking data.

Copy Link

Version

Install

install.packages('sportyR')

Monthly Downloads

415

Version

2.2.2

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Ross Drucker

Last Published

February 15th, 2024

Functions in sportyR (2.2.2)

basketball_painted_area

The painted area is the area contained by the free throw lane (see basketball_free_throw_lane_boundary() for more information on the free throw lane)
basketball_inbounding_line

The inbounding line is where the ball is inbounded on the sideline when necessary. Lines drawn on the top of the court should be drawn in a top-down direction, and lines on the bottom of the court should be drawn in the bottom-up direction
basketball_substitution_line

The substitution line is where players checking into the game wait for a stoppage. Lines drawn on the top of the court should be drawn in a top-down direction, and lines on the bottom of the court should be drawn in the bottom-up direction
cani_color_league_features

Check to see what features of a surface can be colored
basketball_sideline

The sideline on a basketball court run the full length of the court, typically with the team bench areas and substitution areas on their exterior. In cases where the sideline is the court apron, the sideline should still be generated and its color should be set equal to the court apron's color (see basketball_court_apron() for more information on the court apron)
basketball_free_throw_circle_fill

The filled-in section of the free throw circle. The circle is the area where a free throw shooter stands when attempting the free throw. The outline of this area will be created separately via basketball_free_throw_circle()
basketball_backboard

The backboard is the backing onto which the basket ring (created by basketball_basket_ring()) is affixed. This will be drawn as a rectangle on the court as the court is drawn from an aerial view
basketball_free_throw_circle_dash

On some courts, there are a series of dashes that comprise the bottom half of the free throw circle (e.g. the half closer to the basket). This function generates a single dash
basketball_free_throw_lane_boundary

The lines providing the boundary to the free throw lane. When a player is shooting a free throw, all non-shooting players must be outside of this boundary
basketball_two_point_range

If a court has a three-point line (see basketball_three_point_line()), then any made basket (not including free throws) made from inside of the arc are worth two points. The area inside of this arc is therefore referred to as two point range, which this feature draws. This feature is enclosed by the three-point line's outer edge and the baseline's inner edge
convert_units

Convert all units, regardless of starting and ending units
basketball_net

To make the basket ring easier to identify, the nets will also be drawn onto the plot. They will typically be white in color
basketball_lane_space_mark

The lane space marks, also known as the blocks, denote where non-shooting players stand during free throws. Players may not cross these lines before the ball touches the rim on the shot attempt
curling_back_line

The back line is the line in the back of the house. Its outer edge should be used as its anchor point
curling_button

The inner-most of the concentric circles comprising the house is called the button. This is the intersection of the tee line (see curling_tee_line()) and the centre line (see curling_centre_line())
curling_end

The curling sheet is the entire sheet, with the houses at either the top or bottom ends. This draws the area of the sheet from the hog line to the back board
curling_hack_foothold

The hack exits on both sides of the curling sheet between the back board and the back line. This is where a curler pushes off from, and it should be centered on the centre line (see curling_centre_line()). This function draws one of the footholds of the hack
basketball_half_court

Each half court spans from the inner edge of the baseline to the center of the division line, and serves as the base layer of the court plot
curling_centre_line

The centre line is the line that runs the full length of the curling sheet, or the line x = 0 in TV view
basketball_three_point_line

An arc on the court, behind which any made basket counts as three points and in front of which, any made basket will count as two points (see basketball_two_point_range() for more information).
basketball_lower_defensive_box_mark

The lower defensive box is an imaginary box on the court extending from the lines on the baseline to the lines inside the painted area. This box helps determine when a block/charge call should take place, as an offensive player is entitled to move outside of (and subsequently enter) this box without contact
curling_hack_line

The hack line connects the two footholds at each hack. It should be anchored at the terminus of the centre line (see curling_centre_line() for more information)
basketball_restricted_arc

The arc located in the free-throw lane is called the restricted arc. The interior radius should be specified for this feature.
basketball_team_bench_line

Players not in the game must stay within the team bench lines unless moving to the substitution area (see basketball_substitution_line() class)
curling_tee_line

The tee line is the line that runs through the center of the house. Its midpoints are connected by the centre line (see curling_centre_line() for more information)
curling_sheet_apron

The apron of the sheet is what separates adjacent sheets, and in this context provides a border around the outside of the sheet
football_directional_arrow

The directional arrows point towards the nearest goal line from the yardage marker they are closest to. These arrows are described by their base (which runs parallel to the goal line) and their length, which extends from the tip to the base
football_sideline

The sidelines are the lines that run the length of the field, stretching from the back of one endzone to the back of the other endzone. Its interior edge is considered out of bounds
football_team_bench_area

The team bench area is the area beyond the restricted area and coaching box. It is where the team benches, non-playing players, and team staff are to remain during the game
football_end_line

The end line is the line beyond the back of the endzone. Its interior edge is considered out of bounds
curling_features_set_colors

Set the colors to be used for the plot. The values provided in the arguments are the defaults, and, where specified, are the rule-book specified values.
football_endzone

The endzones are the area beyond the goal line. Any offensive player who is in legal possession of the ball while in the endzone, or who catches the ball in the endzone, scores a touchdown for their team. This area stretches from the back field boundary to the edge of the goal line closest to the center of the field
football_features_set_colors

Set the colors to be used for the plot. The values provided in the arguments are the defaults, and, where specified, are the rule-book specified values.
football_minor_yard_line

The minor yard lines are the yard lines in between all of the major yard lines. Typically, there are four sets of minor yard lines: one near each sideline, and two near the middle of the field
football_coaching_box_line

The coaching box line is the line that separates the team bench area from the coaching box. This line should be a different color than the bench area and coaching box, which may be the same color
football_coaching_box

The coaching box is the area between the restricted area and team bench area. It may or may not be distinct from either of these areas, but is typically separated by the coaching box line (see football_coaching_box_line() for more information on the coaching box line)
football_field_border_outline

The field border's outline is the outline around the outer edge of the field border. They may not be present on every field, but this is not the same as the sideline or end line (although they may be the same color)
cani_plot_league

Check to see if a league can be plotted, and alert as to which function(s) that league will work for
cani_plot_sport

Check to see if a sport can be plotted, and alert as to which league(s) are plottable for the sport
football_red_zone_border

The field border (see football_field_border()) may have a different color along the red zone than it does along the rest of the field. This is not always the case, but the feature is provided for convenience
curling_centre_zone

The curling sheet is the entire sheet, with the houses at either the top or bottom ends. This draws the area between the hog lines
curling_hog_line

The hog line is the line that begins the Free Guard Zone at each end of the ice. Its inner edge (relative to the nearest house) should be used as its anchor point
football_major_yard_line

The major yard lines are the yard lines that span the entire width of the field. Typically, these lines are placed every 5 yards, but the customization is left to the user. These lines may feature a cross-hash, which runs in the x-direction
football_half_field

Each half of the football field spans from the edge of the goal line nearest to midfield to the center of the major yard line at midfield
football_field_apron

The field should have an apron to appropriately see all out-of-bounds features. This is typically the same color as the field itself, but will be created separately so as to allow for more customized plotting
curling_courtesy_line

The courtesy lines are where players stand during the delivery process of each stone when the opposing team is throwing
geom_football

Generate a ggplot2 instance containing a football field for a specified league
geom_curling

Generate a ggplot2 instance containing a curling sheet for a specified league
football_goal_line

The goal lines are the lines the ball must cross while being either passed or ran in order to score a touchdown. The interior edge of the goal line (relative to the center of the field of play) should lie at the 0 yard line, and the center of the 1 yard line should be exactly 1 yard from this edge of the goal line
geom_baseball

Generate a ggplot2 instance containing a baseball field for a specified league
geom_basketball

Generate a ggplot2 instance containing a basketball court for a specified league
hockey_center_line

The center line is the line that divides the ice surface in half. Its center should lie directly in the center of the ice surface. Its line thickness should be given by 'major_line_thickness' as this is a major line on the ice surface
curling_house_ring

The house is comprised of three concentric circles outside of the button of varying radii. This feature is designed to be each of the house rings excluding the button
football_field_border

The field border is the border line around the outer edge of the sideline and end line. They may not be present on every field, but this is not the same as the sideline or end line (although they may be the same color)
hockey_center_faceoff_spot

The center faceoff spot is the spot at which the game begins. Its center should lie directly in the center of the ice surface. Its radius is passed as a key in rink_params
hockey_defensive_zone

The defensive zone is the left "third" of the rink in TV view. This is the area that a team defends when attacking from left to right
football_red_zone_border_outline

The outline of the football_red_zone_border() may be a different color than the rest of the field border. This is not always the case, but the feature is provided for convenience
hockey_features_set_colors

Set the colors to be used for the plot. The values provided in the arguments are the defaults, and, where specified, are the rule-book specified values.
geom_tennis

Generate a ggplot2 instance containing a tennis court for a specified league
geom_soccer

Generate a ggplot2 instance containing a soccer pitch for a specified league
hockey_goal_crease_fill

The goal crease is the area where a goaltender plays their position. It is comprised of two components: the outline of the crease (see hockey_goal_crease_outline()), and the filling in its boundary. The goal crease may have two notches (one on each side of the line y = 0)
hockey_goal_crease_outline

The goal crease is the area where a goaltender plays their position. It is comprised of two components: the outline of the crease, and the filling in its boundary (see hockey_goal_crease_fill()). The goal crease may have two notches (one on each side of the line y = 0)
football_restricted_area

The restricted area is the area nearest the sideline's exterior edge. This area is distinct from the coaching box (immediately behind the restricted area) and team bench area
hockey_goal_line

The goal lines are the lines over which a puck must cross (within the goal frame) in order to be considered a goal. Its line thickness should be given by 'minor_line_thickness' as this is a minor line on the ice surface.
hockey_odzone_faceoff_circle

The non-centered faceoff circles are located in the offensive and defensive zones of the ice, with one on each side of the x-axis when viewing the rink in TV view. These circles differ from the center faceoff circle because they have hash marks that extend towards the boards on each side of the circle
hockey_nodzone_faceoff_spot_stripe

The non-centered faceoff spots are located in the neutral, offensive and defensive zones of the ice, with one on each side of the x-axis when viewing the rink in TV view. These spots differ from the center faceoff spot because they have a larger diameter, differ in color, and have a colored stripe that runs through its center.
hockey_goaltenders_restricted_area

The goaltender's restricted area marks where a goaltender is legally allowed to handle the puck behind the net. This is often referred to as "the trapezoid" as it is trapezoidal in shape. Its line thickness should be given by 'minor_line_thickness' as this is a minor line on the ice surface
lacrosse_below_goal_marking

On some fields, there is a below goal marking. These are circles that should mirror each other, with their center points used as anchors
lacrosse_boards

The boards are the wall around the outside of the field that constrain the playing surface. The boards are either typically ovular in shape, or not present if the field is outdoors
hockey_offensive_zone

The offensive zone is the right "third" of the rink in TV view. This is the area that a team attacks to try to score a goal when attacking from left to right
hockey_goal_frame

The goal frame is where the puck enters after crossing the goal line to score a legal goal. The front face of the goal is flush with the goal line, while the back edge features rounded corners and expands outside of the front posts. The goal frame is composed of two pieces: the frame (this method) and the fill (see hockey_goal_frame_fill())
hockey_goal_frame_fill

The goal frame is where the puck enters after crossing the goal line to score a legal goal. The front face of the goal is flush with the goal line, while the back edge features rounded corners and expands outside of the front posts. The goal frame is composed of two pieces: the frame (see hockey_goal_frame()) and the fill (this function)
hockey_penalty_box_outline

The penalty boxes are the areas outside the confines of the rink where players serve time for a penalty incurred. They are to be on the same side of the ice surface and separate, as close to center ice as possible, for each team. This will also include the off-ice officials' box
lacrosse_end_line

The end lines run the width of the field, with its interior edge designating the in-bounds area
lacrosse_face_off_marker

The face-off markers are where face-offs occur. They may take one of two forms: an "X" shape or a circle
lacrosse_goal_line

The goal line is where the front edge of the goal sits. It spans the entire interior dimension of the goal mouth. Its anchoring x coordinate should be its center (e.g. half of the line's width should be on each side of the x anchor)
lacrosse_field_apron

Outdoor require should have a field apron so that boundary lines are more visible
lacrosse_referee_crease

The referee's crease is a semi-circle on the "bottom" of the boards (in TV view), centered on the line y = 0 (the center of the center line)
lacrosse_goal_mouth

The goal mouth is similar to the goal fan, except it is plainly a semi-circle located in front of the goal on fields for which it appears. The separation between the ends of it typically correspond to the diameter of the goal circle
lacrosse_goal_circle

The goal circle is a circular feature on the field that houses the goal line (see lacrosse_goal_line()) and the goal. Notably, for fields with a surrounding arc and/or fan around the goal area, this feature only circumscribes the goal. Those features will be handled separately. This feature may either be the full circle (e.g. all 360 degrees), or a partial circle that may be greater than a half-circle
geom_lacrosse

Generate a ggplot2 instance containing a lacrosse field for a specified league
geom_volleyball

Generate a ggplot2 instance containing a volleyball court for a specified league
geom_hockey

Generate a ggplot2 instance containing an ice rink for a specified league
lacrosse_player_bench_outline

The player benches are the areas outside the confines of the field where players not currently on the field are seated. They are to be on the same side of the field surface and separate, as close to center field as possible
lacrosse_features_set_colors

Set the colors to be used for the plot. The values provided in the arguments are the defaults, and, where specified, are the rule-book specified values.
lacrosse_penalty_box_outline

The penalty boxes are the areas outside the confines of the field where players serve time for a penalty incurred. They are to be on the same side of the field surface and separate, as close to center field as possible, for each team. This will also include the off-field officials' box
lacrosse_goal_arc

The arc around the goal circle is a semi-circular area located around the goal circle (see lacrosse_goal_circle()) that may extend back to the end line, but also may be cut off at the goal line extended. The extension should be controlled via the goal_arc_extension parameter. Note: the hash marks are generated via lacrosse_goal_fan_hash_mark()
lacrosse_player_bench_area_fill

The player benches are the areas outside the confines of the field where players not currently on the field are seated. They are to be on the same side of the field surface and separate, as close to center field as possible
soccer_center_circle

The center circle is the circle located at the center of the field. Inside of the center circle is the center mark, where each half begins, as well as where play resumes following a goal
rotate_coords

Perform a mathematical rotation about (0, 0) of coordinates. This rotation is given as x' = x \* cos(theta) - y \* sin(theta) y' = x \* sin(theta) + y \* cos(theta)
%or%

Set the default value when not provided in a list
hockey_odzone_faceoff_lines

The offensive/defensive zone faceoff lines are the L-shaped lines where players on each team line up when taking a faceoff in either the offensive or defensive zones. There are four of these faceoff lines around each offensive/defensive faceoff spot
is_hex

Identify if a passed color is a hexadecimal string
hockey_zone_line

The zone lines are the lines that separate the neutral zone from the offensive and defensive zones. Its line thickness should be given by 'major_line_thickness' as this is a major line on the ice surface
hockey_off_ice_officials_box

The off-ice officials' box is located between the two penalty boxes, opposite the team bench areas
hockey_penalty_box_fill

The penalty boxes are the areas outside the confines of the rink where players serve time for a penalty incurred. They are to be on the same side of the ice surface and separate, as close to center ice as possible, for each team. This will not include the off-ice officials' box; see hockey_off_ice_officials_box() for more information
hockey_player_bench_area_fill

The player benches are the areas outside the confines of the rink where players not currently on the ice are seated. They are to be on the same side of the ice surface and separate, as close to center ice as possible
lacrosse_center_line

The center line divides the field of play into two equal halves, which are generated via lacrosse_offensive_zone(), lacrosse_defensive_zone(), and lacrosse_neutral_zone(). This line may not stretch the entire width of the field, so a parameter is created instead
lacrosse_neutral_zone

The neutral zone corresponds to the area between the restraining lines. In cases where there are no restraining lines, this feature will have 0 length
lacrosse_center_circle

The center circle is where play begins to start a game. This is located at the center of the field (when present)
lacrosse_goal_fan_hash_mark

The hash marks around the goal fan (see lacrosse_goal_fan()) are drawn independently from the goal fan itself. These should just be rectangles with anchor points along the circle
volleyball_front_zone

The front zone is the area between the attack line (see volleyball_attack_line()) and the line running along x = 0. If considering the entirety of the volleyball court as being divided into thirds, this is half of the middle third of the court
soccer_half_pitch

Half of the pitch is located on each side of the halfway line (see soccer_halfway_line() for more information)
volleyball_service_zone_mark

The service zone marks are the lines beyond the end lines that denote where a legal serve must take place. These appear as four hash marks that are out of bounds of the court, but contained within the free zone (see volleyball_free_zone() for reference)
tennis_court_apron

The court apron is referred to as the backstop and sidestop. These areas are entirely outside of the playing court, but legal shots made here are considered in play
tennis_doubles_alley

The doubles alley is the area between the singles and doubles sideline. It should run the entire length of the court
soccer_goal_line

The goal line is the line that runs the full width of the pitch. The ball must completely cross the goal line to score a goal for the attacking team
football_team_bench_area_outline

The outline of the team bench area runs beyond the team bench, but is inside of any field border that may run behind the team bench area (see football_field_border() for more information on this feature)
hockey_center_faceoff_circle

The center faceoff circle is where the each period of the game begins. It differs from the non-centered faceoff circles in that there are no adjoining hash marks on this circle. It is also a different color than the non-centered faceoff circles. Its line thickness should be given by 'minor_line_thickness' as this is a minor line on the ice surface
football_try_mark

The try mark is the mark from which all tries start. This line is located directly on the line y = 0. This line is not typically considered an official yard line, which is why it is created independently
hockey_boards

The boards are the wall around the outside of the rink that constrain the playing surface. The boards are typically ovular in shape
tennis_features_set_colors

Set the colors to be used for the plot. The values provided in the arguments are the defaults, and, where specified, are the rule-book specified values.
tennis_frontcourt_half

The front court is the area between the tennis_net() and the tennis_serviceline(). left-hand side of the court when facing the net from the nearest baseline is the ad court, and the right-hand side is the deuce court. This is constrained by the singles tennis_sideline().
volleyball_end_line

The lines on the court that run the full width of the court are referred to as the end lines, with the full width of the line being considered in bounds
volleyball_court_apron

The court apron is similar to the basketball_court_apron() in that it is the area outside the court. It may be the same color as the interior of the court, but isn't necessarily. Unlike basketball_court_apron() however, the boundary line thickness doesn't matter since the lines are considered in-play and therefore are included in the court's length and width. This is a colored area inside of the free zone (see volleyball_free_zone()).
lacrosse_change_area_fill

The change area is the box-shaped area in front of the team benches where a substitutions occur. This feature describes its interior fill; its outline is controlled by lacrosse_change_area_outline()
lacrosse_goal_circle_fill

This feature is the area enclosed by the goal circle's outline. Please see lacrosse_goal_circle() for more information
lacrosse_change_area_outline

The change area is the box-shaped area in front of the team benches where a substitutions occur. This feature describes its outline; its interior fill is controlled by lacrosse_change_area_fill()
lacrosse_goal_frame

The goal frame is the posts through which the ball must pass in order to score a goal. It is usually triangular in shape
lacrosse_offensive_zone

The offensive zone is where a team tries to score a goal. It is the TV-right area on the field
hockey_neutral_zone

The neutral zone is the middle "third" of the rink. This is the area between the two zone (blue) lines. The center of the neutral zone should lie along the line x = 0
lacrosse_off_field_officials_box

The off-field officials' box is located between the two penalty boxes, opposite the team bench areas
lacrosse_goal_fan

The goal arc fan is present on some fields (e.g. NCAAW) as a quarter-circle located around the goal. The anchor for this feature should be given as the center of the goal line, but the radius of the arc actually corresponds to a point on the goal circle (see lacrosse_goal_circle()) that runs through y = 0
hockey_nodzone_faceoff_spot_ring

The non-centered faceoff spots are located in the neutral, offensive and defensive zones of the ice, with one on each side of the x-axis when viewing the rink in TV view. These spots differ from the center faceoff spot because they have a larger diameter, differ in color, and have a colored stripe that runs through its center.
soccer_corner_defensive_marks

The corner defensive marks on the pitch are typically located 9.15 meters (10 yards) from the corner of the pitch. Defenders should be beyond these marks (either more towards the goal or more towards the halfway line) during corner kicks
soccer_halfway_line

The halfway line, aka the midfield line or center line, runs the width of the pitch, dividing it into two equal halves. The left half (in TV view) will be the defensive half, and the right half will be the offensive half
soccer_features_set_colors

Set the colors to be used for the plot. The values provided in the arguments are the defaults, and, where specified, are the rule-book specified values.
lacrosse_referee_crease_fill

The referee's crease is a semi-circle on the "bottom" of the boards (in TV view), centered on the line y = 0 (the center of the center line). This feature corresponds to the section of the field it encloses
soccer_penalty_box

The penalty box on the pitch is the larger of the two boxes that extend from the goal line. The penalty box is usually 16.5 meters (18 yards) from the goal line, but may be parameterized via this function
lacrosse_restraining_line

The restraining line spans the entire width of the field (where present) and connects to the defensive area lines (see lacrosse_defensive_area_line())
hockey_player_bench_outline

The player benches are the areas outside the confines of the rink where players not currently on the ice are seated. They are to be on the same side of the ice surface and separate, as close to center ice as possible
lacrosse_sideline

The sidelines run the length of the field, with its interior edge designating the in-bounds area
soccer_center_mark

The center mark is where kickoffs for each half, as well as following any goal, are taken. The radius should be given to the outside of the mark. This feature is located at midfield
lacrosse_defensive_area_line

The defensive-area lines run parallel to the sidelines and are connected to the end line (see lacrosse_end_line()) and restraining line (see lacrosse_restraining_line()) when these features are present
hockey_referee_crease

The referee's crease is a semi-circle on the "bottom" of the boards (in TV view), centered on the line y = 0 (the center of the center line)
lacrosse_defensive_zone

The defensive zone is the TV-left area of the playing surface. In many cases, this will correspond to half of the field's length
soccer_touchline

The lines that run the full length of the pitch are called the touchlines. In some cases, they may also be referred to as the sidelines, as they comprise the sides of the pitch
lacrosse_penalty_box_fill

The penalty boxes are the areas outside the confines of the field where players serve time for a penalty incurred. They are to be on the same side of the field surface and separate, as close to center field as possible, for each team. This will not include the off-field officials' box; see lacrosse_off_field_officials_box() for more information
soccer_goal_box

The goal box is the smaller of the two boxes that extend from the goal line The goal box is usually 5.5 meters (6 yards) from the goal line, but may be parameterized via this function
soccer_goal

The goal is located beyond each goal line. By rule, the goal posts must be the same thickness as the goal line, and the posts must rest on the front edge of the goal line
lacrosse_wing_line

The wing lines run parallel to the sidelines and cross the center line
soccer_corner_arc

The corner arcs are the quarter-circles located where the touchline meets the goal line
tennis_backcourt

The backcourt is the area behind the serviceline on the court, contained within the singles sidelines
surface_dimensions

surface_dimensions
lacrosse_goal_mouth_hash_mark

The goal mouth may have a hash mark that extends towards midfield from the goal line extended. This is that hash mark, and should be anchored using its outer edge
tennis_baseline

The baseline is the line behind which a player will serve the ball. It spans the entire width of the court, and its back edge denotes the furthest boundary inside of which a ball can land and be considered in play
volleyball_backcourt

The backcourt is the area between the the attack line (see volleyball_attack_line()) and the end line (see volleyball_end_line()). Players playing in the back row of the rotation must take off from this area before attacking the ball. If considering the entirety of the volleyball court as being divided into thirds, this is either of the outer thirds of the court
volleyball_center_line

The center line's axis runs along x = 0 when viewing the court in TV view, dividing the court into two equal halves
volleyball_sideline

The lines on the court that run the full length of the court are referred to as the sidelines, with the full width of the line being considered in bounds
lacrosse_goal_net

The goal net is the netting that the ball must hit in order to score a point
volleyball_substitution_zone_dash

The substitution zone is typically marked by a dashed line extending from the attack lines (see volleyball_attack_line() for more). This creates a single dash, and the dashes should be added to the plot accordingly
volleyball_free_zone

The free zone is similar to the basketball_court_apron() in that it is the area outside the court. It may be the same color as the interior of the court, but isn't necessarily. Unlike basketball_court_apron() however, the boundary line thickness doesn't matter since the lines are considered in-play and therefore are included in the court's length and width. This is not the same as the volleyball_court_apron(), as this is the entire area outside of the court's lines, while the court apron corresponds to a colored apron inside the free zone
soccer_penalty_mark

The penalty mark is the center point for the arc of the penalty box, as well as where any penalty kick is taken from
volleyball_attack_line

The attack line runs from sideline to sideline separating the court's backcourt (volleyball_backcourt()) from the front zone (volleyball_front_zone()). Players in the front row may attack from either side of this line, while players in the back row must begin their attack from the backcourt side of the line. The anchor point of this feature should be its outer edge
volleyball_features_set_colors

Set the colors to be used for the plot. The values provided in the arguments are the defaults, and, where specified, are the rule-book specified values.
tennis_center_mark

The center mark identifies the center point of the tennis_baseline(). The line should extend towards the net
tennis_center_serviceline

The center serviceline on the court divides the service area into two parts: the ad court (left) and the deuce court (right)
tennis_net

The net divides the court into two halves, and should run through the line x = 0 when viewing the court in TV view
reflect

Perform a mathematical reflection of coordinates over a specified axis
tennis_sideline

The sideline runs the entire length of the court, and there may be up to four sidelines on the court (this may refer to either the singles or doubles sideline). Lines are considered in play, so the outer edge of the sideline will lie along x = court_width / 2
load_default_parameters

Load default parameters for a specified league. This should only be used when debugging the package
soccer_pitch_apron

The pitch should have an apron around it to do two things:
tennis_serviceline

The serviceline is the line in front of which (nearest the net) a serve must land, and be on the proper side of the court to be considered legal and in play
baseball_pitchers_mound

The pitcher's mound. This is where the pitcher's plate is located, but the pitcher's plate is not necessarily centered on the pitcher's mound
basketball_basket_ring

The hoop through which the ball must pass to score points for a team is called the basket ring
baseball_infield_grass

The dirt that comprises the infield grass. This is the area inside the lines drawn by the basepaths
basketball_endline

The endline on a basketball court, also called the baseline, is located beyond each basket. In cases where the endline is the court apron, the endline should still be generated and its color should be set equal to the court apron's color (see basketball_court_apron() for more information on the court apron)
baseball_infield_dirt

The dirt that comprises the infield. This includes the base paths, infield arc, and home plate circle.
baseball_home_plate

Home plate. This is a pentagonal shape with its back tip located at the origin of the coordinate system. The angled sides of home plate intersect the baselines
baseball_features_set_colors

Set the colors to be used for the plot. The values provided in the arguments are the defaults, and, where specified, are the rule-book specified values.
basketball_features_set_colors

Set the colors to be used for the plot. The values provided in the arguments are the defaults, and, where specified, are the rule-book specified values.
baseball_catchers_box

The catcher's box. This is where the catcher is located on defense, usually marked by two white lines and a back line as well. The box may take various shapes, which are controlled by the catchers_box_shape parameter
baseball_pitchers_plate

The pitcher's plate. This is where the pitcher must throw the ball from. It's usually a long rectangle with its front edge as its anchor point
baseball_batters_box

The batter's boxes on the field. This is where a batter must stand to legally hit the ball
baseball_foul_line

The foul line. These are the white lines that extend from the back tip of home plate (but not visibly through the batter's boxes) out to the fair/foul pole in the outfield. Since a ball on the line is considered in fair territory, the outer edge of the baseline must lie in fair territory (aka the line y = +/- x)
baseball_base

One of the bases on the diamond, or really any base on the field. These are squares that are rotated 45 degrees
basketball_division_line

The division line divides the court into two halves, and is sometimes referred to as the time line or half-court line. The center of this line goes through the y axis, with half of the line lying in a team's offensive half court and the other half in their defensive half court
baseball_running_lane

The running lane is entirely in foul territory. The depth should be measured from the foul-side edge of the baseline to the outer edge of the running lane mark
basketball_center_circle_outline

The center circle is broken into two parts: the outline (this feature) and the fill, which is the court coloring inside of the inner edge of this circle
basketball_free_throw_circle

The outline of the free throw circle. The interior filling area is created via basketball_free_throw_circle_fill()
basketball_court_apron

The apron of the court is the colored boundary around the exterior of some courts. If no such colored boundary exists, this should take the same color as the court floor
basketball_center_circle_fill

The center circle is broken into two parts: the basketball_center_circle_outline(), and the fill (this feature), which is the court coloring inside of the inner edge of this circle