Often you may want to change the transparency of points in a plot in R.

There are two common ways to do so by using the **alpha()** function in R:

**Method 1: Use alpha() to Change Transparency in Base R**

library(scales) plot(df$points, df$assists, col=alpha(df$team, .5))

This particular example uses the **alpha()** function from the **scales** package to specify the transparency that should be used in points on a scatterplot in base R.

**Method 2: Use alpha() to Change Transparency in ggplot2**

library(ggplot2) ggplot(df, aes(points, assists, col=team)) + geom_point(alpha=0.5)

This particular example uses the **alpha()** function that comes built-in with the **ggplot2** package to specify the transparency that should be used in points on a ggplot2 scatterplot.

Note that you can supply a value between 0 and 1 for the **alpha** argument in each method. A value of 0 will cause the points to be completely transparent while a value of 1 will cause the points to be completely visible.

The following examples show how to use each method in practice with the following data frame in R:

**#create data frame
df <- data.frame(team=as.factor(1:2)),
points=c(99, 68, 86, 88, 95, 74, 78, 93),
assists=c(22, 28, 45, 35, 34, 45, 28, 31))
#view data frame
df
team points assists
1 1 99 22
2 2 68 28
3 1 86 45
4 2 88 35
5 1 95 34
6 2 74 45
7 1 78 28
8 2 93 31
**

The data frame contains information about various basketball players, including their team name, total points scored, and total assists.

**Example 1: Use alpha() to Change Transparency in Base R**

Suppose we use the **plot()** function to create a scatterplot of points vs. assists in R:

#create basic scatterplot of points vs assists plot(df$points, df$assists, col=df$team, cex=3, pch=19)

This produces the following plot:

**Note**: The **cex **argument specifies the size of the points in the plot and the **pch** argument specifies the symbol to use. A value of **19** represents a filled-in circle.

Since we didn’t use the **alpha()** function at all, the points in the plot are fully visible.

However, we could use the **alpha()** function from the **scales** package with a value of **0.5** to give the points half transparency:

library(scales) #create scatterplot with transparency value of 0.5 plot(df$points, df$assists, col=alpha(df$team, .5), cex=3, pch=19)

Notice that the points in the plot now have half transparency since we used a value of **0.5** for the **alpha** argument in the **plot()** function.

**Example 2: Use alpha() to Change Transparency in ggplot2**

Suppose we use the following syntax to create a scatterplot of points vs. assists in ggplot2:

library(ggplot2) #create scatterplot of points vs assists ggplot(df, aes(points, assists, col=team)) + geom_point(size=5)

This produces the following plot:

Since we didn’t use the **alpha()** function at all, the points in the plot are fully visible.

However, we could use the **alpha()** function with a value of **0.5** to give the points half transparency:

library(ggplot2) #create scatterplot with transparency of 0.5 ggplot(df, aes(points, assists, col=team)) + geom_point(size=5, alpha=0.5)

Notice that the points in the plot now have half transparency since we used a value of **0.5** for the **alpha** argument in the **geom_point()** function.

**Additional Resources**

The following tutorials explain how to perform other common tasks in R:

How to Label Points on a Scatterplot in R

How to Add Text Outside of a Plot in R

How to Add Points to an Existing Plot in R

How to Create a Scatterplot with a Regression Line in R