Skip to content

Commit 0ff81cb

Browse files
committed
Merge remote-tracking branch 'upstream/master' into Add_position_nudgestack
2 parents 7214587 + 10fa001 commit 0ff81cb

File tree

139 files changed

+5785
-529
lines changed

Some content is hidden

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

139 files changed

+5785
-529
lines changed

DESCRIPTION

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,14 @@ Collate:
154154
'grob-dotstack.r'
155155
'grob-null.r'
156156
'grouping.r'
157+
'guide-bins.R'
157158
'guide-colorbar.r'
159+
'guide-colorsteps.R'
158160
'guide-legend.r'
159161
'guides-.r'
160162
'guides-axis.r'
161163
'guides-grid.r'
164+
'guides-none.r'
162165
'hexbin.R'
163166
'labeller.r'
164167
'labels.r'
@@ -187,6 +190,7 @@ Collate:
187190
'save.r'
188191
'scale-.r'
189192
'scale-alpha.r'
193+
'scale-binned.R'
190194
'scale-brewer.r'
191195
'scale-colour.r'
192196
'scale-continuous.r'
@@ -201,6 +205,7 @@ Collate:
201205
'scale-manual.r'
202206
'scale-shape.r'
203207
'scale-size.r'
208+
'scale-steps.R'
204209
'scale-type.R'
205210
'scale-view.r'
206211
'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)
@@ -191,6 +207,8 @@ export(PositionNudge)
191207
export(PositionNudgeStack)
192208
export(PositionStack)
193209
export(Scale)
210+
export(ScaleBinned)
211+
export(ScaleBinnedPosition)
194212
export(ScaleContinuous)
195213
export(ScaleContinuousDate)
196214
export(ScaleContinuousDatetime)
@@ -299,6 +317,8 @@ export(facet_grid)
299317
export(facet_null)
300318
export(facet_wrap)
301319
export(find_panel)
320+
export(flip_data)
321+
export(flipped_names)
302322
export(fortify)
303323
export(geom_abline)
304324
export(geom_area)
@@ -359,14 +379,21 @@ export(ggproto)
359379
export(ggproto_parent)
360380
export(ggsave)
361381
export(ggtitle)
382+
export(guide_axis)
383+
export(guide_bins)
362384
export(guide_colorbar)
385+
export(guide_colorsteps)
363386
export(guide_colourbar)
387+
export(guide_coloursteps)
364388
export(guide_gengrob)
365389
export(guide_geom)
366390
export(guide_legend)
367391
export(guide_merge)
392+
export(guide_none)
368393
export(guide_train)
394+
export(guide_transform)
369395
export(guides)
396+
export(has_flipped_aes)
370397
export(is.Coord)
371398
export(is.facet)
372399
export(is.ggplot)
@@ -426,12 +453,14 @@ export(scale_alpha_discrete)
426453
export(scale_alpha_identity)
427454
export(scale_alpha_manual)
428455
export(scale_alpha_ordinal)
456+
export(scale_color_binned)
429457
export(scale_color_brewer)
430458
export(scale_color_continuous)
431459
export(scale_color_date)
432460
export(scale_color_datetime)
433461
export(scale_color_discrete)
434462
export(scale_color_distiller)
463+
export(scale_color_fermenter)
435464
export(scale_color_gradient)
436465
export(scale_color_gradient2)
437466
export(scale_color_gradientn)
@@ -440,14 +469,19 @@ export(scale_color_hue)
440469
export(scale_color_identity)
441470
export(scale_color_manual)
442471
export(scale_color_ordinal)
472+
export(scale_color_steps)
473+
export(scale_color_steps2)
474+
export(scale_color_stepsn)
443475
export(scale_color_viridis_c)
444476
export(scale_color_viridis_d)
477+
export(scale_colour_binned)
445478
export(scale_colour_brewer)
446479
export(scale_colour_continuous)
447480
export(scale_colour_date)
448481
export(scale_colour_datetime)
449482
export(scale_colour_discrete)
450483
export(scale_colour_distiller)
484+
export(scale_colour_fermenter)
451485
export(scale_colour_gradient)
452486
export(scale_colour_gradient2)
453487
export(scale_colour_gradientn)
@@ -456,17 +490,23 @@ export(scale_colour_hue)
456490
export(scale_colour_identity)
457491
export(scale_colour_manual)
458492
export(scale_colour_ordinal)
493+
export(scale_colour_steps)
494+
export(scale_colour_steps2)
495+
export(scale_colour_stepsn)
496+
export(scale_colour_viridis_b)
459497
export(scale_colour_viridis_c)
460498
export(scale_colour_viridis_d)
461499
export(scale_continuous_identity)
462500
export(scale_discrete_identity)
463501
export(scale_discrete_manual)
502+
export(scale_fill_binned)
464503
export(scale_fill_brewer)
465504
export(scale_fill_continuous)
466505
export(scale_fill_date)
467506
export(scale_fill_datetime)
468507
export(scale_fill_discrete)
469508
export(scale_fill_distiller)
509+
export(scale_fill_fermenter)
470510
export(scale_fill_gradient)
471511
export(scale_fill_gradient2)
472512
export(scale_fill_gradientn)
@@ -475,22 +515,30 @@ export(scale_fill_hue)
475515
export(scale_fill_identity)
476516
export(scale_fill_manual)
477517
export(scale_fill_ordinal)
518+
export(scale_fill_steps)
519+
export(scale_fill_steps2)
520+
export(scale_fill_stepsn)
521+
export(scale_fill_viridis_b)
478522
export(scale_fill_viridis_c)
479523
export(scale_fill_viridis_d)
480524
export(scale_linetype)
525+
export(scale_linetype_binned)
481526
export(scale_linetype_continuous)
482527
export(scale_linetype_discrete)
483528
export(scale_linetype_identity)
484529
export(scale_linetype_manual)
485530
export(scale_radius)
486531
export(scale_shape)
532+
export(scale_shape_binned)
487533
export(scale_shape_continuous)
488534
export(scale_shape_discrete)
489535
export(scale_shape_identity)
490536
export(scale_shape_manual)
491537
export(scale_shape_ordinal)
492538
export(scale_size)
493539
export(scale_size_area)
540+
export(scale_size_binned)
541+
export(scale_size_binned_area)
494542
export(scale_size_continuous)
495543
export(scale_size_date)
496544
export(scale_size_datetime)
@@ -499,6 +547,7 @@ export(scale_size_identity)
499547
export(scale_size_manual)
500548
export(scale_size_ordinal)
501549
export(scale_type)
550+
export(scale_x_binned)
502551
export(scale_x_continuous)
503552
export(scale_x_date)
504553
export(scale_x_datetime)
@@ -507,6 +556,7 @@ export(scale_x_log10)
507556
export(scale_x_reverse)
508557
export(scale_x_sqrt)
509558
export(scale_x_time)
559+
export(scale_y_binned)
510560
export(scale_y_continuous)
511561
export(scale_y_date)
512562
export(scale_y_datetime)

NEWS.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
* Added `position_nudgestack()`, which allows to nudge stacked columns. (@ThomasKnecht )
44

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

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)