11# ggplot2 (development version)
22
3- # ggplot2 3.4.3
3+ * The ` size ` argument in ` annotation_logticks() ` has been deprecated in favour
4+ of the ` linewidth ` argument (#5292 ).
5+
6+ * ` geom_boxplot() ` gains an ` outliers ` argument to switch outliers on or off,
7+ in a manner that does affects the scale range. For hiding outliers that does
8+ not affect the scale range, you can continue to use ` outlier.shape = NA `
9+ (@teunbrand , #4892 ).
10+
11+ * Binned scales now treat ` NA ` s in limits the same way continuous scales do
12+ (#5355 ).
13+
14+ * Binned scales work better with ` trans = "reverse" ` (#5355 ).
15+
16+ * The ` legend.text.align ` and ` legend.title.align ` arguments in ` theme() ` are
17+ deprecated. The ` hjust ` setting of the ` legend.text ` and ` legend.title `
18+ elements continues to fulfil the role of text alignment (@teunbrand , #5347 ).
19+
20+ * Integers are once again valid input to theme arguments that expect numeric
21+ input (@teunbrand , #5369 )
22+
23+ * Nicer error messages for xlim/ylim arguments in coord-* functions
24+ (@92amartins , #4601 , #5297 ).
25+
26+ * ` coord_sf() ` now uses customisable guides provided in the scales or
27+ ` guides() ` function (@teunbrand ).
28+
29+ * Legends in ` scale_*_manual() ` can show ` NA ` values again when the ` values ` is
30+ a named vector (@teunbrand , #5214 , #5286 ).
31+
32+ * ` scale_*_manual() ` with a named ` values ` argument now emits a warning when
33+ none of those names match the values found in the data (@teunbrand , #5298 ).
34+
35+ * ` coord_munch() ` can now close polygon shapes (@teunbrand , #3271 )
36+
37+ * You can now omit either ` xend ` or ` yend ` from ` geom_segment() ` as only one
38+ of these is now required. If one is missing, it will be filled from the ` x `
39+ and ` y ` aesthetics respectively. This makes drawing horizontal or vertical
40+ segments a little bit more convenient (@teunbrand , #5140 ).
41+
42+ * New ` plot.tag.location ` in ` theme() ` can control placement of the plot tag
43+ in the ` "margin" ` , ` "plot" ` or the new ` "panel" ` option (#4297 ).
44+
45+ * ` geom_text() ` and ` geom_label() ` gained a ` size.unit ` parameter that set the
46+ text size to millimetres, points, centimetres, inches or picas
47+ (@teunbrand , #3799 ).
48+
49+ * The guide system, as the last remaining chunk of ggplot2, has been rewritten
50+ in ggproto. The axes and legends now inherit from a <Guide > class, which makes
51+ them extensible in the same manner as geoms, stats, facets and coords
52+ (#3329 , @teunbrand ). In addition, the following changes were made:
53+ * A fallback for old S3 guides is encapsulated in the ` GuideOld ` ggproto
54+ class, which mostly just calls the old S3 generics.
55+ * While the S3 guide generics are still in place, the S3 methods for
56+ ` guide_train() ` , ` guide_merge() ` , ` guide_geom() ` , ` guide_transform() ` ,
57+ ` guide_gengrob() ` have been superseded by the respective ggproto methods.
58+ In practise, this will mean that ` NextMethod() ` or sub-classing ggplot2's
59+ guides with the S3 system will no longer work.
60+ * Styling theme parts of the guide now inherit from the plot's theme
61+ (#2728 ).
62+ * Styling non-theme parts of the guides accept <element > objects, so that
63+ the following is possible: ` guide_colourbar(frame = element_rect(...)) ` .
64+ * Primary axis titles are now placed at the primary guide, so that
65+ ` guides(x = guide_axis(position = "top")) ` will display the title at the
66+ top by default (#4650 ).
67+ * Unknown secondary axis guide positions are now inferred as the opposite
68+ of the primary axis guide when the latter has a known ` position ` (#4650 ).
69+ * ` guide_colourbar() ` , ` guide_coloursteps() ` and ` guide_bins() ` gain a
70+ ` ticks.length ` argument.
71+ * In ` guide_bins() ` , the title no longer arbitrarily becomes offset from
72+ the guide when it has long labels.
73+ * The ` order ` argument of guides now strictly needs to be a length-1
74+ integer (#4958 ).
75+ * More informative error for mismatched
76+ ` direction ` /` theme(legend.direction = ...) ` arguments (#4364 , #4930 ).
77+ * ` guide_coloursteps() ` and ` guide_bins() ` sort breaks (#5152 ).
78+ * ` guide_axis() ` gains a ` cap ` argument that can be used to trim the
79+ axis line to extreme breaks (#4907 ).
80+ * ` guide_colourbar() ` and ` guide_coloursteps() ` merge properly when one
81+ of aesthetics is dropped (#5324 ).
82+ * Fixed regression in ` guide_legend() ` where the ` linewidth ` key size
83+ wasn't adapted to the width of the lines (#5160 ).
84+
85+ * ` geom_label() ` now uses the ` angle ` aesthetic (@teunbrand , #2785 )
86+ * 'lines' units in ` geom_label() ` , often used in the ` label.padding ` argument,
87+ are now are relative to the text size. This causes a visual change, but fixes
88+ a misalignment issue between the textbox and text (@teunbrand , #4753 )
89+ * The ` label.padding ` argument in ` geom_label() ` now supports inputs created
90+ with the ` margin() ` function (#5030 ).
91+ * As an internal change, the ` titleGrob() ` has been refactored to be faster.
92+ * The ` translate_shape_string() ` internal function is now exported for use in
93+ extensions of point layers (@teunbrand , #5191 ).
94+ * Fixed bug in ` coord_sf() ` where graticule lines didn't obey
95+ ` panel.grid.major ` 's linewidth setting (@teunbrand , #5179 )
96+ * Fixed bug in ` annotation_logticks() ` when no suitable tick positions could
97+ be found (@teunbrand , #5248 ).
98+ * To improve ` width ` calculation in bar plots with empty factor levels,
99+ ` resolution() ` considers ` mapped_discrete ` values as having resolution 1
100+ (@teunbrand , #5211 )
101+ * When ` geom_path() ` has aesthetics varying within groups, the ` arrow() ` is
102+ applied to groups instead of individual segments (@teunbrand , #4935 ).
103+ * The default width of ` geom_bar() ` is now based on panel-wise resolution of
104+ the data, rather than global resolution (@teunbrand , #4336 ).
105+ * To apply dodging more consistently in violin plots, ` stat_ydensity() ` now
106+ has a ` drop ` argument to keep or discard groups with 1 observation.
107+ * Aesthetics listed in ` geom_*() ` and ` stat_*() ` layers now point to relevant
108+ documentation (@teunbrand , #5123 ).
109+ * ` coord_flip() ` has been marked as superseded. The recommended alternative is
110+ to swap the ` x ` and ` y ` aesthetic and/or using the ` orientation ` argument in
111+ a layer (@teunbrand , #5130 ).
112+ * ` stat_align() ` is now applied per panel instead of globally, preventing issues
113+ when facets have different ranges (@teunbrand , #5227 ).
114+ * A stacking bug in ` stat_align() ` was fixed (@teunbrand , #5176 ).
115+ * ` stat_contour() ` and ` stat_contour_filled() ` now warn about and remove
116+ duplicated coordinates (@teunbrand , #5215 ).
117+ * Improve performance of layers without positional scales (@zeehio , #4990 )
4118
119+ # ggplot2 3.4.3
5120This hotfix release addresses a version comparison change in r-devel. There are
6121no user-facing or breaking changes.
7122
@@ -43,7 +158,7 @@ changes and a few bug fixes as well.
43158
44159* Fixed bug in ` coord_sf() ` where graticule lines didn't obey
45160 ` panel.grid.major ` 's linewidth setting (@teunbrand , #5179 ).
46-
161+
47162* ` geom_text() ` drops observations where ` angle = NA ` instead of throwing an
48163 error (@teunbrand , #2757 ).
49164
@@ -420,7 +535,7 @@ small selection of feature refinements.
420535 (@thomasp85 , #4149 )
421536
422537* Fix bug in ` scale_[x|y]_date() ` where custom breaks functions that resulted in
423- fracional dates would get misaligned (@thomasp85 , #3965 )
538+ fractional dates would get misaligned (@thomasp85 , #3965 )
424539
425540* Fix bug in ` scale_[x|y]_datetime() ` where a specified timezone would be
426541 ignored by the scale (@thomasp85 , #4007 )
@@ -446,7 +561,7 @@ small selection of feature refinements.
446561 and plots are faceted with multi-layered strips (@teunbrand , #4384 ).
447562
448563* Using ` theme(aspect.ratio = ...) ` together with free space in ` facet_grid() `
449- now crrectly throws an error (@thomasp85 , #3834 )
564+ now correctly throws an error (@thomasp85 , #3834 )
450565
451566* Fixed a bug in ` labeller() ` so that ` .default ` is passed to ` as_labeller() `
452567 when labellers are specified by naming faceting variables. (@waltersom , #4031 )
@@ -715,7 +830,7 @@ fixing some unit tests that broke due to upstream changes.
715830 with ribbons that spanned ` y = 0 ` (#3471 )
716831* Using ` qplot() ` with a single positional aesthetic will no longer title the
717832 non-specified scale as ` "NULL" ` (#3473 )
718- * Fixes unit tests for sf graticule labels caused by chages to sf
833+ * Fixes unit tests for sf graticule labels caused by changes to sf
719834
720835# ggplot2 3.2.0
721836
@@ -1061,7 +1176,7 @@ accompanying issue #2890.
10611176* Error: ` data ` must be uniquely named but has duplicate columns
10621177
10631178 If layer data contains columns with identical names an error will be
1064- thrown. In earlier versions the first occuring column was chosen silently,
1179+ thrown. In earlier versions the first occurring column was chosen silently,
10651180 potentially masking that the wrong data was chosen.
10661181
10671182* Error: Aesthetics must be either length 1 or the same as the data
@@ -1549,7 +1664,7 @@ The facet system, as well as the internal panel class, has been rewritten in
15491664ggproto. Facets are now extendable in the same manner as geoms and stats, as
15501665described in `vignette("extending-ggplot2")`.
15511666
1552- We have also added the following new fatures .
1667+ We have also added the following new features .
15531668
15541669* `facet_grid()` and `facet_wrap()` now allow expressions in their faceting
15551670 formulas (@DanRuderman, #1596).
@@ -1599,7 +1714,7 @@ re-installation of all extension packages.
15991714### Date time
16001715
16011716* `scale_*_datetime()` now supports time zones. It will use the timezone
1602- attached to the varaible by default, but can be overridden with the
1717+ attached to the variable by default, but can be overridden with the
16031718 `timezone` argument.
16041719
16051720* New `scale_x_time()` and `scale_y_time()` generate reasonable default
@@ -1625,7 +1740,7 @@ Compared to the previous version of ggplot2, there are three main changes:
162517401. `scale_x_discrete()` and `scale_y_discrete()` always show discrete NA,
16261741 regardless of their source
16271742
1628- 1. If present, `NA`s are shown in discete legends.
1743+ 1. If present, `NA`s are shown in discrete legends.
16291744
163017451. All discrete scales gain a `na.translate` argument that allows you to
16311746 control whether `NA`s are translated to something that can be visualised,
@@ -1706,7 +1821,7 @@ There were a number of tweaks to the theme elements that control legends:
17061821
17071822* `geom_contour()` more clearly describes what inputs it needs (# 1577).
17081823
1709- * `geom_curve()` respects the `lineend` paramater (# 1852).
1824+ * `geom_curve()` respects the `lineend` parameter (# 1852).
17101825
17111826* `geom_histogram()` and `stat_bin()` understand the `breaks` parameter once
17121827 more. (# 1665). The floating point adjustment for histogram bins is now
@@ -2193,7 +2308,7 @@ version of ggplot.
21932308 inline with the 2nd edition of the ggplot2 box , which minimises the use of
21942309 `qplot()` in favour of `ggplot()`.
21952310
2196- * Tighly linked geoms and stats (e.g. `geom_boxplot()` and `stat_boxplot()` )
2311+ * Tightly linked geoms and stats (e.g. `geom_boxplot()` and `stat_boxplot()` )
21972312 are now documented in the same file so you can see all the arguments in one
21982313 place. Variations of the same idea (e.g. `geom_path()` , `geom_line()` , and
21992314 `geom_step()` ) are also documented together.
@@ -2296,7 +2411,7 @@ version of ggplot.
22962411* `geom_segment()` annotations were not transforming with scales
22972412 (@BrianDiggs, #859).
22982413
2299- * `geom_smooth()` is no longer so chatty. If you want to know what the deafult
2414+ * `geom_smooth()` is no longer so chatty. If you want to know what the default
23002415 smoothing method is, look it up in the documentation! (#1247)
23012416
23022417* `geom_violin()` now has the ability to draw quantile lines (@DanRuderman).
@@ -2328,7 +2443,7 @@ version of ggplot.
23282443
23292444* You can now suppress the appearance of an axis/legend title (and the space
23302445 that would allocated for it) with `NULL` in the `scale_` function. To
2331- use the default lable , use `waiver()` (#1145).
2446+ use the default label , use `waiver()` (#1145).
23322447
23332448* Position adjustments no longer warn about potentially varying ranges
23342449 because the problem rarely occurs in practice and there are currently a
0 commit comments