Skip to content

Commit e38b438

Browse files
Merge remote-tracking branch 'upstream/master' into feature/geom-ribbon-line
2 parents 1cab6a8 + f16f16f commit e38b438

File tree

145 files changed

+5840
-535
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+5840
-535
lines changed

DESCRIPTION

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,14 @@ Collate:
153153
'grob-dotstack.r'
154154
'grob-null.r'
155155
'grouping.r'
156+
'guide-bins.R'
156157
'guide-colorbar.r'
158+
'guide-colorsteps.R'
157159
'guide-legend.r'
158160
'guides-.r'
159161
'guides-axis.r'
160162
'guides-grid.r'
163+
'guides-none.r'
161164
'hexbin.R'
162165
'labeller.r'
163166
'labels.r'
@@ -185,6 +188,7 @@ Collate:
185188
'save.r'
186189
'scale-.r'
187190
'scale-alpha.r'
191+
'scale-binned.R'
188192
'scale-brewer.r'
189193
'scale-colour.r'
190194
'scale-continuous.r'
@@ -199,6 +203,7 @@ Collate:
199203
'scale-manual.r'
200204
'scale-shape.r'
201205
'scale-size.r'
206+
'scale-steps.R'
202207
'scale-type.R'
203208
'scale-view.r'
204209
'scale-viridis.r'

NAMESPACE

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,30 @@ S3method(grobWidth,absoluteGrob)
6767
S3method(grobWidth,zeroGrob)
6868
S3method(grobX,absoluteGrob)
6969
S3method(grobY,absoluteGrob)
70+
S3method(guide_gengrob,axis)
71+
S3method(guide_gengrob,bins)
7072
S3method(guide_gengrob,colorbar)
73+
S3method(guide_gengrob,guide_none)
7174
S3method(guide_gengrob,legend)
75+
S3method(guide_geom,axis)
76+
S3method(guide_geom,bins)
7277
S3method(guide_geom,colorbar)
78+
S3method(guide_geom,guide_none)
7379
S3method(guide_geom,legend)
80+
S3method(guide_merge,axis)
81+
S3method(guide_merge,bins)
7482
S3method(guide_merge,colorbar)
83+
S3method(guide_merge,guide_none)
7584
S3method(guide_merge,legend)
85+
S3method(guide_train,axis)
86+
S3method(guide_train,bins)
7687
S3method(guide_train,colorbar)
88+
S3method(guide_train,colorsteps)
89+
S3method(guide_train,guide_none)
7790
S3method(guide_train,legend)
91+
S3method(guide_transform,axis)
92+
S3method(guide_transform,default)
93+
S3method(guide_transform,guide_none)
7894
S3method(heightDetails,titleGrob)
7995
S3method(heightDetails,zeroGrob)
8096
S3method(interleave,default)
@@ -190,6 +206,8 @@ export(PositionJitterdodge)
190206
export(PositionNudge)
191207
export(PositionStack)
192208
export(Scale)
209+
export(ScaleBinned)
210+
export(ScaleBinnedPosition)
193211
export(ScaleContinuous)
194212
export(ScaleContinuousDate)
195213
export(ScaleContinuousDatetime)
@@ -298,6 +316,8 @@ export(facet_grid)
298316
export(facet_null)
299317
export(facet_wrap)
300318
export(find_panel)
319+
export(flip_data)
320+
export(flipped_names)
301321
export(fortify)
302322
export(geom_abline)
303323
export(geom_area)
@@ -358,14 +378,21 @@ export(ggproto)
358378
export(ggproto_parent)
359379
export(ggsave)
360380
export(ggtitle)
381+
export(guide_axis)
382+
export(guide_bins)
361383
export(guide_colorbar)
384+
export(guide_colorsteps)
362385
export(guide_colourbar)
386+
export(guide_coloursteps)
363387
export(guide_gengrob)
364388
export(guide_geom)
365389
export(guide_legend)
366390
export(guide_merge)
391+
export(guide_none)
367392
export(guide_train)
393+
export(guide_transform)
368394
export(guides)
395+
export(has_flipped_aes)
369396
export(is.Coord)
370397
export(is.facet)
371398
export(is.ggplot)
@@ -424,12 +451,14 @@ export(scale_alpha_discrete)
424451
export(scale_alpha_identity)
425452
export(scale_alpha_manual)
426453
export(scale_alpha_ordinal)
454+
export(scale_color_binned)
427455
export(scale_color_brewer)
428456
export(scale_color_continuous)
429457
export(scale_color_date)
430458
export(scale_color_datetime)
431459
export(scale_color_discrete)
432460
export(scale_color_distiller)
461+
export(scale_color_fermenter)
433462
export(scale_color_gradient)
434463
export(scale_color_gradient2)
435464
export(scale_color_gradientn)
@@ -438,14 +467,19 @@ export(scale_color_hue)
438467
export(scale_color_identity)
439468
export(scale_color_manual)
440469
export(scale_color_ordinal)
470+
export(scale_color_steps)
471+
export(scale_color_steps2)
472+
export(scale_color_stepsn)
441473
export(scale_color_viridis_c)
442474
export(scale_color_viridis_d)
475+
export(scale_colour_binned)
443476
export(scale_colour_brewer)
444477
export(scale_colour_continuous)
445478
export(scale_colour_date)
446479
export(scale_colour_datetime)
447480
export(scale_colour_discrete)
448481
export(scale_colour_distiller)
482+
export(scale_colour_fermenter)
449483
export(scale_colour_gradient)
450484
export(scale_colour_gradient2)
451485
export(scale_colour_gradientn)
@@ -454,17 +488,23 @@ export(scale_colour_hue)
454488
export(scale_colour_identity)
455489
export(scale_colour_manual)
456490
export(scale_colour_ordinal)
491+
export(scale_colour_steps)
492+
export(scale_colour_steps2)
493+
export(scale_colour_stepsn)
494+
export(scale_colour_viridis_b)
457495
export(scale_colour_viridis_c)
458496
export(scale_colour_viridis_d)
459497
export(scale_continuous_identity)
460498
export(scale_discrete_identity)
461499
export(scale_discrete_manual)
500+
export(scale_fill_binned)
462501
export(scale_fill_brewer)
463502
export(scale_fill_continuous)
464503
export(scale_fill_date)
465504
export(scale_fill_datetime)
466505
export(scale_fill_discrete)
467506
export(scale_fill_distiller)
507+
export(scale_fill_fermenter)
468508
export(scale_fill_gradient)
469509
export(scale_fill_gradient2)
470510
export(scale_fill_gradientn)
@@ -473,22 +513,30 @@ export(scale_fill_hue)
473513
export(scale_fill_identity)
474514
export(scale_fill_manual)
475515
export(scale_fill_ordinal)
516+
export(scale_fill_steps)
517+
export(scale_fill_steps2)
518+
export(scale_fill_stepsn)
519+
export(scale_fill_viridis_b)
476520
export(scale_fill_viridis_c)
477521
export(scale_fill_viridis_d)
478522
export(scale_linetype)
523+
export(scale_linetype_binned)
479524
export(scale_linetype_continuous)
480525
export(scale_linetype_discrete)
481526
export(scale_linetype_identity)
482527
export(scale_linetype_manual)
483528
export(scale_radius)
484529
export(scale_shape)
530+
export(scale_shape_binned)
485531
export(scale_shape_continuous)
486532
export(scale_shape_discrete)
487533
export(scale_shape_identity)
488534
export(scale_shape_manual)
489535
export(scale_shape_ordinal)
490536
export(scale_size)
491537
export(scale_size_area)
538+
export(scale_size_binned)
539+
export(scale_size_binned_area)
492540
export(scale_size_continuous)
493541
export(scale_size_date)
494542
export(scale_size_datetime)
@@ -497,6 +545,7 @@ export(scale_size_identity)
497545
export(scale_size_manual)
498546
export(scale_size_ordinal)
499547
export(scale_type)
548+
export(scale_x_binned)
500549
export(scale_x_continuous)
501550
export(scale_x_date)
502551
export(scale_x_datetime)
@@ -505,6 +554,7 @@ export(scale_x_log10)
505554
export(scale_x_reverse)
506555
export(scale_x_sqrt)
507556
export(scale_x_time)
557+
export(scale_y_binned)
508558
export(scale_y_continuous)
509559
export(scale_y_date)
510560
export(scale_y_datetime)

NEWS.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# ggplot2 (development version)
22

3+
* A new scale type has been added, that allows binning of aesthetics at the
4+
scale level. It has versions for both position and non-position aesthetics and
5+
comes with two new guides (`guide_bins` and `guide_coloursteps`) (@thomasp85, #3096)
6+
7+
* Position guides can now be customized using the new `guide_axis()`,
8+
which can be passed to position `scale_*()` functions or via
9+
`guides()`. The new axis guide (`guide_axis()`) comes with
10+
arguments `check.overlap` (automatic removal of overlapping
11+
labels), `angle` (easy rotation of axis labels), and
12+
`n.dodge` (dodge labels into multiple rows/columns) (@paleolimbot, #3322).
13+
314
* `Geom` now gains a `setup_params()` method in line with the other ggproto
415
classes (@thomasp85, #3509)
516

R/axis-secondary.R

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
#' - A character vector giving labels (must be same length as `breaks`)
2121
#' - A function that takes the breaks as input and returns labels as output
2222
#'
23+
#' @param guide A position guide that will be used to render
24+
#' the axis on the plot. Usually this is [guide_axis()].
25+
#'
2326
#' @details
2427
#' `sec_axis` is used to create the specifications for a secondary axis.
2528
#' Except for the `trans` argument any of the arguments can be set to
@@ -79,7 +82,8 @@
7982
#' labels = scales::time_format("%b %d %I %p")))
8083
#'
8184
#' @export
82-
sec_axis <- function(trans = NULL, name = waiver(), breaks = waiver(), labels = waiver()) {
85+
sec_axis <- function(trans = NULL, name = waiver(), breaks = waiver(), labels = waiver(),
86+
guide = waiver()) {
8387
# sec_axis() historically accpeted two-sided formula, so be permissive.
8488
if (length(trans) > 2) trans <- trans[c(1,3)]
8589

@@ -88,14 +92,15 @@ sec_axis <- function(trans = NULL, name = waiver(), breaks = waiver(), labels =
8892
trans = trans,
8993
name = name,
9094
breaks = breaks,
91-
labels = labels
95+
labels = labels,
96+
guide = guide
9297
)
9398
}
9499
#' @rdname sec_axis
95100
#'
96101
#' @export
97-
dup_axis <- function(trans = ~., name = derive(), breaks = derive(), labels = derive()) {
98-
sec_axis(trans, name, breaks, labels)
102+
dup_axis <- function(trans = ~., name = derive(), breaks = derive(), labels = derive(), guide = derive()) {
103+
sec_axis(trans, name, breaks, labels, guide)
99104
}
100105

101106
is.sec_axis <- function(x) {
@@ -148,6 +153,7 @@ AxisSecondary <- ggproto("AxisSecondary", NULL,
148153
if (is.derived(self$breaks)) self$breaks <- scale$breaks
149154
if (is.waive(self$breaks)) self$breaks <- scale$trans$breaks
150155
if (is.derived(self$labels)) self$labels <- scale$labels
156+
if (is.derived(self$guide)) self$guide <- scale$guide
151157
},
152158

153159
transform_range = function(self, range) {

R/coord-.r

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ Coord <- ggproto("Coord",
5959

6060
aspect = function(ranges) NULL,
6161

62-
labels = function(panel_params) panel_params,
62+
labels = function(labels, panel_params) labels,
6363

6464
render_fg = function(panel_params, theme) element_render(theme, "panel.border"),
6565

@@ -91,6 +91,14 @@ Coord <- ggproto("Coord",
9191
list()
9292
},
9393

94+
setup_panel_guides = function(self, panel_params, guides, params = list()) {
95+
panel_params
96+
},
97+
98+
train_panel_guides = function(self, panel_params, layers, default_mapping, params = list()) {
99+
panel_params
100+
},
101+
94102
transform = function(data, range) NULL,
95103

96104
distance = function(x, y, panel_params) NULL,

0 commit comments

Comments
 (0)