The locator() Function
Purpose of locator()
The locator() function is used to identify the coordinates of points on a plot by clicking on the graphical device. This allows for interactive plotting and annotation.
Basic Usage
The basic syntax of locator() is:
locator(n = NULL, type = "p", col = "black", pch = 1, cex = 1, ...)
- n: Number of points to locate. If n is NULL, the function will continue to accept points until you press the “Esc” key.
- type: Type of plotting symbol (e.g., “p” for points, “l” for lines).
- col: Color of the plotting symbol.
- pch: Symbol to use for plotting points.
- cex: Size of the plotting symbol.
- …: Additional graphical parameters.
Interactive Point Selection
To interactively select points on a plot, use locator() without additional parameters. Here’s how you do it:
Example:
# Create a basic plot x <- 1:10 y <- x^2 plot(x, y, main = "Interactive Point Selection", xlab = "X", ylab = "Y") # Use locator to interactively select points points <- locator() # Click on the plot to select points # Display the coordinates of the selected points print(points)
- locator(): Click on the plot to select points. The function will return a list with the x and y coordinates of the clicked points.
Specifying the Number of Points
You can specify the number of points to select by providing a value for n.
Example:
# Create a basic plot plot(x, y, main = "Specify Number of Points", xlab = "X", ylab = "Y") # Use locator to select a specified number of points points <- locator(n = 3) # Click on the plot to select 3 points # Display the coordinates of the selected points print(points)
- locator(n = 3): Click on the plot to select exactly 3 points.
Adding Annotations Based on Selected Points
You can use the coordinates obtained from locator() to annotate the plot or perform further analysis.
Example:
# Create a basic plot plot(x, y, main = "Annotate Selected Points", xlab = "X", ylab = "Y") # Use locator to select points selected_points <- locator(n = 2) # Click on the plot to select 2 points # Add text annotations for the selected points text(selected_points$x, selected_points$y, labels = paste("(", round(selected_points$x, 1), ",", round(selected_points$y, 1), ")", sep = ""), pos = 3, cex = 0.8, col = "blue")
- text(selected_points$x, selected_points$y, …): Annotates the points selected by locator().
Customizing Plot Symbols
Customize the appearance of the points selected with locator() by specifying additional graphical parameters.
Example:
# Create a basic plot plot(x, y, main = "Customizing Plot Symbols", xlab = "X", ylab = "Y") # Use locator to select points with custom symbols selected_points <- locator(n = 2) # Click on the plot to select 2 points # Add custom symbols to the selected points points(selected_points$x, selected_points$y, col = "red", pch = 19, cex = 1.5)
- points(selected_points$x, selected_points$y, col = “red”, pch = 19, cex = 1.5): Adds red points with a larger size at the selected coordinates.
Using locator() in Different Graphics Devices
locator() works interactively in various graphics devices, including:
- RStudio Plots Pane: Click directly on the plot within the RStudio interface.
- PDF or Image Files: Interactively select points if the plot is shown in a viewer that supports interactive input.
Summary
- Purpose: Use locator() to interactively select points on a plot by clicking.
- Basic Usage: Click on the plot to select points; the function returns their coordinates.
- Specifying Number: Set n to select a specific number of points.
- Annotations: Use the coordinates from locator() to add annotations or perform additional tasks.
- Custom Symbols: Customize the appearance of selected points with additional graphical parameters.
- Graphics Devices: locator() works in various interactive plotting environments.