1
1
# ggplot2 (development version)
2
2
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 )
4
118
119
+ # ggplot2 3.4.3
5
120
This hotfix release addresses a version comparison change in r-devel. There are
6
121
no user-facing or breaking changes.
7
122
@@ -43,7 +158,7 @@ changes and a few bug fixes as well.
43
158
44
159
* Fixed bug in ` coord_sf() ` where graticule lines didn't obey
45
160
` panel.grid.major ` 's linewidth setting (@teunbrand , #5179 ).
46
-
161
+
47
162
* ` geom_text() ` drops observations where ` angle = NA ` instead of throwing an
48
163
error (@teunbrand , #2757 ).
49
164
@@ -420,7 +535,7 @@ small selection of feature refinements.
420
535
(@thomasp85 , #4149 )
421
536
422
537
* 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 )
424
539
425
540
* Fix bug in ` scale_[x|y]_datetime() ` where a specified timezone would be
426
541
ignored by the scale (@thomasp85 , #4007 )
@@ -446,7 +561,7 @@ small selection of feature refinements.
446
561
and plots are faceted with multi-layered strips (@teunbrand , #4384 ).
447
562
448
563
* 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 )
450
565
451
566
* Fixed a bug in ` labeller() ` so that ` .default ` is passed to ` as_labeller() `
452
567
when labellers are specified by naming faceting variables. (@waltersom , #4031 )
@@ -715,7 +830,7 @@ fixing some unit tests that broke due to upstream changes.
715
830
with ribbons that spanned ` y = 0 ` (#3471 )
716
831
* Using ` qplot() ` with a single positional aesthetic will no longer title the
717
832
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
719
834
720
835
# ggplot2 3.2.0
721
836
@@ -1061,7 +1176,7 @@ accompanying issue #2890.
1061
1176
* Error: ` data ` must be uniquely named but has duplicate columns
1062
1177
1063
1178
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,
1065
1180
potentially masking that the wrong data was chosen.
1066
1181
1067
1182
* 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
1549
1664
ggproto. Facets are now extendable in the same manner as geoms and stats, as
1550
1665
described in `vignette("extending-ggplot2")`.
1551
1666
1552
- We have also added the following new fatures .
1667
+ We have also added the following new features .
1553
1668
1554
1669
* `facet_grid()` and `facet_wrap()` now allow expressions in their faceting
1555
1670
formulas (@DanRuderman, #1596).
@@ -1599,7 +1714,7 @@ re-installation of all extension packages.
1599
1714
### Date time
1600
1715
1601
1716
* `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
1603
1718
`timezone` argument.
1604
1719
1605
1720
* 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:
1625
1740
1. `scale_x_discrete()` and `scale_y_discrete()` always show discrete NA,
1626
1741
regardless of their source
1627
1742
1628
- 1. If present, `NA`s are shown in discete legends.
1743
+ 1. If present, `NA`s are shown in discrete legends.
1629
1744
1630
1745
1. All discrete scales gain a `na.translate` argument that allows you to
1631
1746
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:
1706
1821
1707
1822
* `geom_contour()` more clearly describes what inputs it needs (# 1577).
1708
1823
1709
- * `geom_curve()` respects the `lineend` paramater (# 1852).
1824
+ * `geom_curve()` respects the `lineend` parameter (# 1852).
1710
1825
1711
1826
* `geom_histogram()` and `stat_bin()` understand the `breaks` parameter once
1712
1827
more. (# 1665). The floating point adjustment for histogram bins is now
@@ -2193,7 +2308,7 @@ version of ggplot.
2193
2308
inline with the 2nd edition of the ggplot2 box , which minimises the use of
2194
2309
`qplot()` in favour of `ggplot()`.
2195
2310
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()` )
2197
2312
are now documented in the same file so you can see all the arguments in one
2198
2313
place. Variations of the same idea (e.g. `geom_path()` , `geom_line()` , and
2199
2314
`geom_step()` ) are also documented together.
@@ -2296,7 +2411,7 @@ version of ggplot.
2296
2411
* `geom_segment()` annotations were not transforming with scales
2297
2412
(@BrianDiggs, #859).
2298
2413
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
2300
2415
smoothing method is, look it up in the documentation! (#1247)
2301
2416
2302
2417
* `geom_violin()` now has the ability to draw quantile lines (@DanRuderman).
@@ -2328,7 +2443,7 @@ version of ggplot.
2328
2443
2329
2444
* You can now suppress the appearance of an axis/legend title (and the space
2330
2445
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).
2332
2447
2333
2448
* Position adjustments no longer warn about potentially varying ranges
2334
2449
because the problem rarely occurs in practice and there are currently a
0 commit comments