|
1 | 1 | # ggplot2 (development version) |
2 | 2 |
|
| 3 | +* The `arrow` and `arrow.fill` arguments are now available in |
| 4 | + `geom_linerange()` and `geom_pointrange()` layers (@teunbrand, #6481). |
| 5 | +* (internal) `zeroGrob()` now returns a `grid::nullGrob()` (#6390). |
| 6 | +* `stat_ydensity()` now only requires the `x` or `y` aesthetic. The other will |
| 7 | + be populated with 0, similar to `stat_boxplot()` (@teunbrand, #6600) |
| 8 | +* Implemented `as.list()` and `S7::convert()` methods for lists and classes in ggplot2 |
| 9 | + (@teunbrand, #6695) |
| 10 | +* The default linetype in `geom_sf()` is derived from `geom_polygon()` for |
| 11 | + polygons and from `geom_line()` for (multi)linestrings (@teunbrand, #6543). |
| 12 | +* Using infinite `radius` aesthetic in `geom_spoke()` now throws a warning |
| 13 | + (#6671) |
| 14 | +* Scales and guides specified by a string can now use package name prefixes to |
| 15 | + indicate a namespace wherein to look for the scale/guide. For example, one can |
| 16 | + use `scale_x_continuous(guide = "legendry::axis_base")` (@teunbrand, #4705). |
| 17 | +* `get_layer_data()` and `get_layer_grob()` now accept layer names as index |
| 18 | + (@lgaborini, #6724) |
| 19 | +* Added new argument `geom_curve(shape)` that will be passed down to |
| 20 | + `grid::curveGrob()` (@fmarotta, #5998). |
| 21 | +* Fixed a regression where default `width` was miscalculated when some panels |
| 22 | + are empty (@teunbrand, #6758) |
| 23 | +* `geom_hex()` has a new `radius` aesthetic, representing the relative size of |
| 24 | + the hexagons (@teunbrand, #6727) |
| 25 | +* Added `preserve` argument to `position_jitterdodge()` (@teunbrand, #6584). |
| 26 | +* Fixed `position_jitterdodge(jitter.height, jitter.width)` applying to the |
| 27 | + wrong dimension with flipped geoms (@teunbrand, #6535). |
| 28 | +* New `position_dodge2(group.row)` argument that can be set to `"many"` to |
| 29 | + dodge groups with more than one row, such as in `geom_violin()` |
| 30 | + (@teunbrand, #6663) |
| 31 | + |
| 32 | +# ggplot2 4.0.1 |
| 33 | + |
| 34 | +This is a smaller patch release focussed on fixing regressions from 4.0.0 and |
| 35 | +polishing the recent features. |
| 36 | + |
| 37 | +## Bug fixes |
| 38 | + |
| 39 | +* Fixed regression where `geom_area()` didn't draw panels with single groups |
| 40 | + when `stat = "align"` (@teunbrand, #6680) |
| 41 | +* Fixed regression where `position_stack(vjust)` was ignored when there are |
| 42 | + only single groups (#6692) |
| 43 | +* Fixed bug where `NA` handling in `geom_path()` was ignoring panels (@teunbrand, #6533) |
| 44 | +* Fixed bug where `stat_bin(boundary)` was ignored (#6682). |
| 45 | +* `geom_text()` and `geom_label()` accept expressions as the `label` aesthetic |
| 46 | + (@teunbrand, #6638) |
| 47 | +* Fixed regression where `draw_key_rect()` stopped using `fill` colours |
| 48 | + (@mitchelloharawild, #6609). |
| 49 | +* Fixed regression where `scale_{x,y}_*()` threw an error when an expression |
| 50 | + object is set to `labels` argument (@yutannihilation, #6617). |
| 51 | +* Fixed regression where the first (unnamed) argument to colour/fill scales was |
| 52 | + not passed as the `name` argument (@teunbrand, #6623) |
| 53 | +* Fixed issue where vectorised `arrow()`s caused errors in drawing the |
| 54 | + legend glyphs (@teunbrand, #6594) |
| 55 | +* Fixed regression where `NULL`-aesthetics contributed to plot labels too |
| 56 | + insistently. Now they contribute only as fallback labels (@teunbrand, #6616) |
| 57 | +* Fixed regression where empty arguments to colour/fill scale caused errors |
| 58 | + (@jmbarbone, #6710) |
| 59 | +* Fixed axis misplacement in `coor_radial()` when labels are blank (@teunbrand, #6574) |
| 60 | + |
| 61 | +## Improvements |
| 62 | + |
| 63 | +* Improved palette fallback mechanism in scales (@teunbrand, #6669). |
| 64 | +* Allow `stat` in `geom_hline`, `geom_vline`, and `geom_abline`. (@sierrajohnson, #6559) |
| 65 | +* `stat_boxplot()` treats `width` as an optional aesthetic (@Yunuuuu, #6575) |
| 66 | +* The `theme(panel.widths, panel.heights)` setting attempts to preserve the |
| 67 | + plot's aspect ratio when only one of the two settings is given, and the plot |
| 68 | + has a single panel (@teunbrand, #6701). |
| 69 | +* Logical values for the linetype aesthetic will be interpreted numerically, |
| 70 | + so that `linetype = FALSE` becomes 0/'blank' and `linetype = TRUE` becomes |
| 71 | + 1/'solid' (@teunbrand, #6641) |
| 72 | +* Out-of-bounds datapoints used as padding by `stat_align()` now get removed |
| 73 | + silently rather than verbosely (@teunbrand, #6667) |
| 74 | + |
| 75 | +# ggplot2 4.0.0 |
| 76 | + |
3 | 77 | ## User facing |
4 | 78 |
|
5 | 79 | ### Breaking changes |
|
0 commit comments