# Basic scatterplot in base R

A very basic scatterplot built with base R and the `plot()` function. Explanation and code provided.

# Most basic scatterplot

The `plot()` function of R allows to build a scatterplot. Both numeric variables of the input dataframe must be specified in the `x` and `y` argument.

``````# Create data
data = data.frame(
x=seq(1:100) + 0.1*seq(1:100)*sample(c(1:10) , 100 , replace=T),
y=seq(1:100) + 0.2*seq(1:100)*sample(c(1:10) , 100 , replace=T)
)

# Basic scatterplot
plot(x=data\$x, y=data\$y)``````

# Customizations

Here is a description of the most common customization:

• `cex`: circle size
• `xlim` and `ylim`: limits of the X and Y axis
• `pch`: shape of markers. See all here.
• `xlab` and `ylab`: X and Y axis labels
• `col`: marker color
• `main`: chart title

``````# Create data
data = data.frame(
x=seq(1:100) + 0.1*seq(1:100)*sample(c(1:10) , 100 , replace=T),
y=seq(1:100) + 0.2*seq(1:100)*sample(c(1:10) , 100 , replace=T)
)

# Basic scatterplot
plot(data\$x, data\$y,
xlim=c(0,250) , ylim=c(0,250),
pch=18,
cex=2,
col="#69b3a2",
xlab="value of X", ylab="value of Y",
main="A simple scatterplot"
)``````

# Map the marker color to a categorical variable

ss

``````# the iris dataset is provided by R natively

# Create a color palette
library(paletteer)
colors <- paletteer_c(package = "ggthemes", palette = "Green-Blue-White", n = 3)

# Scatterplot with categoric color scale
plot(
x = iris\$Petal.Length,
y = iris\$Petal.Width,
bg = colors[ unclass(iris\$Species) ],
cex = 3,
pch=21
)``````

# Map the marker color to a numeric variable

ss

``````# the iris dataset is provided by R natively

# Create a color palette
library(paletteer)
nColor <- 20
colors <- paletteer_c(package = "viridis", palette = "inferno", n = nColor)

# Transform the numeric variable in bins
rank <- as.factor( as.numeric( cut(iris\$Petal.Width, nColor)))

plot(
x = iris\$Petal.Length,
y = iris\$Petal.Width,
bg = colors[ rank ],
cex = 3,
pch=21
)``````

Related chart types

Scatter
Heatmap
Correlogram
Bubble
Connected scatter
Density 2d

## Contact

This document is a work by Yan Holtz. Any feedback is highly encouraged. You can fill an issue on Github, drop me a message on Twitter, or send an email pasting yan.holtz.data with gmail.com.