`smoothScatter`

function
Creating a smooth scatter plot in base R is straightforward with `smoothScatter`

function. You just need to pass your vectors to the function and a smoothed version of its scatter plot will be created.

```
# Data
set.seed(9)
x <- rnorm(1000)
y <- rnorm(1000)
# Smooth scatter plot
smoothScatter(y ~ x)
# Equivalent to:
smoothScatter(x, y)
```

You might have noticed that some points are displayed on the graph, which are **points from those areas of lowest regional densities**. These points are useful for outlier identification. The number of points can be customized with `nrpoints`

.

```
# Data
set.seed(9)
x <- rnorm(1000)
y <- rnorm(1000)
# Smooth scatter plot
smoothScatter(y ~ x,
nrpoints = 1000)
```

In addition, the pch symbol and its color can be customized with `pch`

and `col`

arguments.

```
# Data
set.seed(9)
x <- rnorm(1000)
y <- rnorm(1000)
# Smooth scatter plot
smoothScatter(y ~ x,
pch = 10, col = "red")
```

The `smoothScatter`

function depends on `bkde2D`

function from package `KernSmooth`

to perform the two-dimensional kernel density estimate. However, you can also set a custom smoothing bandwidth with `bandwidth`

argument.

**Big bandwidth**

If you select a too big bandwidth the estimation will be oversmoothed.

```
# Data
set.seed(9)
x <- rnorm(1000)
y <- rnorm(1000)
# Smooth scatter plot
smoothScatter(y ~ x,
bandwidth = 0.4) # Big bandwidth
```

**Small bandwidth**

A small bandwidth will group the data too much, so the kernel density estimation won’t be smooth.

```
# Data
set.seed(9)
x <- rnorm(1000)
y <- rnorm(1000)
# Smooth scatter plot
smoothScatter(y ~ x,
bandwidth = 0.05) # Small bandwidth
```

The function uses the `blues9`

color palette, but you can choose your own specifying a color ramp palette as in the following example. See our color palettes list for inspiration.

```
# Data
set.seed(9)
x <- rnorm(1000)
y <- rnorm(1000)
palette <- hcl.colors(30, palette = "inferno")
# Smooth scatter plot
smoothScatter(y ~ x,
colramp = colorRampPalette(palette))
```

See also