Document that scale_{x/y}_binned() does not make x/y a factor

Open Beginner friendly
#6,859 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
65/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Quiet
Tech stack
r

Research direction

Start with the documentation for scale_x_binned() and scale_y_binned(), then review the existing guidance around grouping and binned variables. Done means explaining that these scales remain continuous and adding a correct boxplot example using cut() or cut_interval(), cut_number(), or cut_width().

Written by the indexing model from the issue text.

Description

scales :snake:

I mistakenly thought the following code would produce multiple vertical boxplots, grouped by the binned wt variable. Instead it produces a single vertical boxplot (with a warning that the "orientation is not uniquely specified"):

library(ggplot2)
mtcars |>
  ggplot(aes(wt, mpg)) +
  geom_boxplot() +
  scale_x_binned()
Image

Another user had the same mistaken impression: https://github.com/tidyverse/ggplot2/issues/4211. In that issue, a ggplot2 author said "Since x is continuous, even after it's binned, it cannot be a grouping variable."

I also asked Claude Opus 4.6 about this, and it had the same misunderstanding as I did, incorrectly saying "geom_boxplot() recognizes the binned scale and automatically creates one boxplot per bin."

I request that the documentation mention that when you use scale_x_binned(), the x variable remains a continuous variable -- it is not converted to a factor as I had thought. Likewise of course for scale_y_binned().

I think it would also be helpful if the documentation mentioned a correct way to achieve the binned boxplot that I wanted, using either base R's cut() or ggplot2's cut_interval()/cut_number()/cut_width(). E.g.,

mtcars |>
  ggplot(aes(cut(wt, 3), mpg)) +
  geom_boxplot()
Image
Dominant language
R
Stars
7k
Forks
2.1k
Avg merge
59m
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from tidyverse/ggplot2

All issues in tidyverse/ggplot2

Similar issues

More R issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.