A strip chart is a type of chart that displays numerical data along a single strip. Similar to boxplots, strip charts can help you visualize the distribution of data. Strip charts can be a good alternative to boxplots when the sample sizes are small so that you can see the individual data points.
This tutorial explains how to create a strip chart in R using the built-in stripchart() function.
The stripchart() function
The basic syntax to create a strip chart in R is as follows:
stripchart(x, method, jitter, main, xlab, ylab, col, pch, vertical, group.names)
- x: a numeric vector or a list of numeric vectors to be plotted. This is the only required argument to produce a plot.
- method: the method to be used to separate points that have identical values. The default method “overplot” causes such points to be overplotted, but it’s possible to specify “jitter” to jitter the points or “stack” to stack the points.
- jitter: when method = “jitter” is used, this provides the amount of jittering to be applied.
- main: title of the chart
- xlab: x-axis label
- ylab: y-axis label
- col: color of the points in the plot
- pch: shape of the points in the plot
- vertical: when vertical is “TRUE”, the plot is drawn vertically rather than the default horizontal
- group.names: group labels to be printed alongside the plot, if more than one numeric vector is being plotted.
Strip Chart for a Single Numeric Vector
The following example uses the built-in R datasetiristocreate a strip chart for a single numeric vector.
#view first six rows of iris datasethead(iris)# Sepal.Length Sepal.Width Petal.Length Petal.Width Species#1 5.1 3.5 1.4 0.2 setosa#2 4.9 3.0 1.4 0.2 setosa#3 4.7 3.2 1.3 0.2 setosa#4 4.6 3.1 1.5 0.2 setosa#5 5.0 3.6 1.4 0.2 setosa#6 5.4 3.9 1.7 0.4 setosa
The following code creates a basic strip chart for the variableSepal.Length:
stripchart(iris$Sepal.Length)
We can also add additional arguments to add a title and x-axis label, change the color of the points, change the shape of the points, and use the method “jitter” so that individual points don’t overlap each other:
stripchart(iris$Sepal.Length, main = 'Sepal Length Distribution', xlab = 'Sepal Length', col = 'red', pch = 1, method = 'jitter')
Instead of jittering the points, we can “stack” them instead:
stripchart(iris$Sepal.Length, main = 'Sepal Length Distribution', xlab = 'Sepal Length', col = 'red', pch = 1, method = 'stack')
We can also display the plot vertically instead of the default horizontal, and change the axis label to be on the y-axis instead:
stripchart(iris$Sepal.Length, main = 'Sepal Length Distribution', ylab = 'Sepal Length', col = 'red', pch = 1, method = 'jitter', vertical = TRUE)
Strip Chart for Multiple Numeric Vectors
We can also draw multiple strip charts in a single plot by passing in a list of numeric vectors.
The following code creates a list that contains the variablesSepal Length andSepal Widthin theirisdataset and produces a strip chart for each variable in a single plot:
#create list of variablesx <- list('Sepal Length' = iris$Sepal.Length, 'Sepal Width' = iris$Sepal.Width)#create plot that contains one strip chart per variablestripchart(x, main = 'Sepal Width & Length Distributions', xlab = 'Measurement', ylab = 'Variable', col = c('steelblue', 'coral2'), pch = 16, method = 'jitter')
Just as in the example before, we can choose to plot the strip charts vertically instead of the default horizontal:
stripchart(x, main = 'Sepal Width & Length Distributions', xlab = 'Measurement', ylab = 'Variable', col = c('steelblue', 'coral2'), pch = 16, method = 'jitter', vertical = TRUE)
In addition, we can pass a formula in the form of y~x into the stripchart() function, whereyis a numeric vector grouped by the value ofx.
For example, in theirisdataset we could group the data according toSpecies which has three distinct values (“setosa”, “versicolor”, and “virginica”) and then plot theSepal Lengthfor each species in a strip chart:
stripchart(Sepal.Length ~ Species, data = iris, main = 'Sepal Length by Species', xlab = 'Species', ylab = 'Sepal Length', col = c('steelblue', 'coral2', 'purple'), pch = 16, method = 'jitter', vertical = TRUE)
To view the full documentation on the stripchart() function in R, simply type in:
?stripchart
Featured Posts
5 Tips for Interpreting P-Values Correctly in Hypothesis Testing
May 23, 2024
7 Best YouTube Channels to Learn Statistics for Free
May 20, 2024
5 Regularization Techniques You Should Know
May 13, 2024
Statistics Cheat Sheets to Get Before Your Job Interview
May 6, 2024
5 Statistical Biases to Avoid
April 25, 2024
5 Free Statistics Courses for Beginners
April 19, 2024