Skip to content

Commit

Permalink
Fix linetype regression (#6097)
Browse files Browse the repository at this point in the history
* don't set `na.value = "blank"`

* add test
  • Loading branch information
teunbrand committed Sep 16, 2024
1 parent d742881 commit 842e6be
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 7 deletions.
4 changes: 2 additions & 2 deletions R/scale-linetype.R
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
#' scale_linetype_identity() +
#' facet_grid(linetype ~ .) +
#' theme_void(20)
scale_linetype <- function(name = waiver(), ..., na.value = "blank") {
scale_linetype <- function(name = waiver(), ..., na.value = NA) {
discrete_scale(
"linetype", name = name,
palette = pal_linetype(),
Expand All @@ -46,7 +46,7 @@ scale_linetype <- function(name = waiver(), ..., na.value = "blank") {

#' @rdname scale_linetype
#' @export
scale_linetype_binned <- function(name = waiver(), ..., na.value = "blank") {
scale_linetype_binned <- function(name = waiver(), ..., na.value = NA) {
binned_scale(
"linetype", name = name,
palette = pal_binned(pal_linetype()),
Expand Down
2 changes: 1 addition & 1 deletion R/scale-manual.R
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ scale_shape_manual <- function(..., values, breaks = waiver(), na.value = NA) {
#' @seealso
#' Other linetype scales: [scale_linetype()], [scale_linetype_identity()].
#' @export
scale_linetype_manual <- function(..., values, breaks = waiver(), na.value = "blank") {
scale_linetype_manual <- function(..., values, breaks = waiver(), na.value = NA) {
manual_scale("linetype", values, breaks, ..., na.value = na.value)
}

Expand Down
6 changes: 3 additions & 3 deletions man/scale_linetype.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/scale_manual.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions tests/testthat/test-scale-manual.R
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,10 @@ test_that("NAs from palette are not translated (#5929)", {
s3$train(c("8", "6", "4"))
expect_equal(s3$map(c("4", "6", "8", "10")), c("a", NA, "c", NA))
})

test_that("numeric linetype palettes are mapped correctly (#6096)", {
x <- c(LETTERS[1:3], NA)
sc <- scale_linetype_manual(values = 1:5)
sc$train(x)
expect_equal(sc$map(x), c(1L, 2L, 3L, NA))
})

0 comments on commit 842e6be

Please sign in to comment.