How to Change Point Size in Graphs in R

Manav Narula Feb 02, 2024
  1. Change Point Size in Graphs Using the plot() Function in R
  2. Change Point Size in Graphs Using the qplot() Function in R
  3. Change Point Size in Graphs Using ggplot() in R
  4. Conclusion
How to Change Point Size in Graphs in R

A scatterplot is a fundamental and widely used plot in R, providing a visual representation of the relationship between two variables. This article aims to comprehensively discuss the basics of scatterplots, their interpretation, and customization options in R.

Change Point Size in Graphs Using the plot() Function in R

A scatterplot is a graphical representation of the relationship between two variables. It is widely used to determine if there’s a pattern, trend, or correlation between the variables.

In a scatterplot, each point represents an observation, displaying its values for both the x and y-axes. This visual representation allows for a quick assessment of the data distribution and helps in identifying any outliers or clusters of data points.

The size of points in a scatterplot, often referred to as “point size”, determines the dimensions of each data point plotted on the graph. Adjusting the point size is essential for highlighting specific data, improving visibility, and making your visualizations more informative.

To create a basic scatterplot in R, we use the plot() function, a versatile tool for visualizing data. The following example demonstrates a simple scatterplot graph using this function:

v1 <- c(1, 2, 3, 4, 11, 9, 7)
v2 <- c(3, 4, 5, 6, 3, 2, 1)
plot(x = v1, y = v2, xlab = "X Axis", ylab = "Y Axis",
     main = "Sample Scatterplot")

Here, we define two vectors, v1 and v2, representing the values for the x and y-axes, respectively.

The plot() function plots these values, and we provide labels for the x and y axes using the xlab and ylab parameters, along with a title using the main parameter.

Output:

Basic Scatter plot in R

Change Point Shape Using the pch Parameter

Customizing the appearance of points in a scatterplot is crucial for conveying information effectively. This customization is achieved using the pch (point character) and cex (character expansion) parameters.

The pch parameter in the plot() function allows us to choose from a variety of point shapes. Each value of pch from 1 to 25 corresponds to a different shape, ranging from circles to squares to triangles and more.

plot(x = v1, y = v2, xlab = "X Axis", ylab = "Y Axis",
     main = "Sample Scatterplot", pch = 20)

In this example, we set pch to 20, which corresponds to a solid circle.

Output:

Scatter plot with pch parameter in R

Change Point Size Using the cex Parameter

The cex parameter adjusts the size of the points in the scatterplot. A higher value for cex results in larger points, making them more visible and prominent.

plot(x = v1, y = v2, xlab = "X Axis", ylab = "Y Axis",
     main = "Sample Scatterplot", pch = 20, cex = 2)

In this example, we set cex to 2, enlarging the points.

Output:

Scatter plot with cex parameter in R

Change Point Size in Graphs Using the qplot() Function in R

Apart from the plot() function, other plotting functions in R, like qplot() and ggplot(), offer options to customize point size.

To begin, let’s create a basic scatter plot using qplot() with the default point size. We’ll utilize a sample dataset for demonstration.

library(ggplot2)

df <- data.frame(x = c(1, 2, 3, 4, 5),
                 y = c(10, 15, 8, 20, 12))

qplot(x = x, y = y, data = df,
      main = "Basic Scatter Plot",
      xlab = "X Axis", ylab = "Y Axis")

In this plot, the default point size is utilized.

Output:

Basic Scatter plot using the qplot() in R

Change Point Size in Scatterplots

To customize the point size in a scatter plot using qplot(), you can use the size parameter. The size parameter allows you to set the point size.

qplot(x = x, y = y, data = df, size = I(5),
      main = "Customized Point Size Scatter Plot",
      xlab = "X Axis", ylab = "Y Axis")

In this example, we set size = I(5) to make the points larger.

Output:

Customized Point Size Scatter Plot using the qplot() in R

Adjust Point Size Based on a Variable

You can adjust the point size based on a variable in your dataset, allowing you to emphasize specific data points based on their characteristics.

qplot(x = x, y = y, data = df, size = y,
      main = "Variable-based Point Size Scatter Plot",
      xlab = "X Axis", ylab = "Y Axis")

Here, the point size is adjusted based on the y variable.

Output:

Variable-based Point Size Scatter Plot using the qplot() in R

Combine Point Size and Color

Combining point size with color can provide a multi-dimensional view of the data. You can achieve this by using both the size and color parameters.

qplot(x = x, y = y, data = df, size = I(5), color = x,
      main = "Combined Size and Color Scatter Plot",
      xlab = "X Axis", ylab = "Y Axis")

In this example, both point size and color are mapped to different variables.

Output:

Combined Size and Color Scatter Plot using the qplot() in R

Change Point Size in Graphs Using ggplot() in R

We can use ggplot() to customize and change point size in graphs in R. To get started, let’s create a basic scatter plot using ggplot() with the default point size.

We’ll use a sample dataset for demonstration.

library(ggplot2)

df <- data.frame(x = c(1, 2, 3, 4, 5),
                 y = c(10, 15, 8, 20, 12))

ggplot(data = df, aes(x = x, y = y)) +
  geom_point() +
  labs(title = "Basic Scatter Plot",
       x = "X Axis", y = "Y Axis")

In this plot, the default point size is used.

Output:

Basic Scatter plot using the ggplot() in R

Change Point Size in Scatterplots

To customize the point size in a scatterplot, you can use the size aesthetic within the geom_point() layer. The size aesthetic allows you to control the point size.

ggplot(data = df, aes(x = x, y = y)) +
  geom_point(size = 3) +
  labs(title = "Customized Point Size Scatter Plot",
       x = "X Axis", y = "Y Axis")

In this example, we set size = 3 to make the points larger.

Output:

Customized Point Size Scatter Plot using the ggplot() in R

Adjust Point Size Based on a Variable

You can also adjust the point size based on a variable in your dataset. This is particularly useful when you want to emphasize specific data points based on their characteristics.

ggplot(data = df, aes(x = x, y = y, size = y)) +
  geom_point() +
  labs(title = "Variable-based Point Size Scatter Plot",
       x = "X Axis", y = "Y Axis")

In this example, the point size is adjusted based on the y variable.

Output:

Variable-based Point Size Scatter Plot using the ggplot() in R

Transform Point Size

You can apply transformations to the point size, making it proportional to some variable or transformation of a variable. For instance, you can use the square root transformation for point size.

ggplot(data = df, aes(x = x, y = y, size = sqrt(y))) +
  geom_point() +
  labs(title = "Transformed Point Size Scatter Plot",
       x = "X Axis", y = "Y Axis")

In this example, we apply the square root transformation to the y variable for point size.

Output:

Transformed Point Size Scatter Plot using the ggplot() in R

Combine Point Size and Color

You can combine point size with color to create plots that convey multiple dimensions of information simultaneously. For this, you use both the size and color aesthetics.

ggplot(data = df, aes(x = x, y = y, size = y, color = x)) +
  geom_point() +
  labs(title = "Combined Size and Color Scatter Plot",
       x = "X Axis", y = "Y Axis")

In this example, both point size and color are mapped to different variables.

Output:

Combined Size and Color Scatter Plot using the ggplot() in R

Conclusion

Changing point size in graphs is essential for effective data visualization in R. Whether you are using the fundamental plot() function or the powerful ggplot2 package, understanding how to adjust point size will allow you to create informative and visually appealing graphs tailored to your data and analytical needs.

Experiment with different point sizes to enhance the presentation of your data and convey meaningful insights through your visualizations.

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Related Article - R Plot