ggplot2 Error in R: Discrete Value Supplied to Continuous Scale (2 Examples)

In this article, I’ll illustrate how to handle the ggplot2 error “Discrete value supplied to continuous scale” in R programming.

Preparing the Examples

data(iris)                                         # Iris flower data as example data.frame
head(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
install.packages("ggplot2")                        # Install ggplot2 package
library("ggplot2")                                 # Load ggplot2

With the default specifications, it works fine:

ggplot(iris,                                       # ggplot2 plot of iris data
       aes(x = Species,
           y = Petal.Width)) +
  geom_point()

r graph figure 1 ggplot2 error r discrete value supplied continuous scale

Example 1: Replicating the Error Message: Discrete value supplied to continuous scale

ggplot(iris,                                       # False usage of scale_x_continuous
       aes(x = Species,
           y = Petal.Width)) +
  geom_point() +
  scale_x_continuous(limits = c(0, 100))
# Error: Discrete value supplied to continuous scale

Example 2: Solving the Error Message: Discrete value supplied to continuous scale

Create a subset of the data frame:

iris_subset <- iris[iris$Species != "setosa", ]    # Remove category from data

Draw ggplot2 plot of subset:

ggplot(iris_subset,                                # ggplot2 plot with less categories
       aes(x = Species,
           y = Petal.Width)) +
  geom_point()

r graph figure 2 ggplot2 error r discrete value supplied continuous scale

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

Menu
Top